gxlujd 发表于 2006-2-11 00:54:41

准备进军GSM模块应用,发个自己写的Unicode转换小软件热身一下

使用GSM模块的短信功能,免不了跟汉字与Unicode码转换打交道,发个自己写的Unicode转换小软件热身一下(VB6下写的,包里没有附带VB6运行库,没有的自己到网上下载)。



点击此处下载armok01101726.rar

coole 发表于 2006-2-11 07:56:17

收藏!!

hitro 发表于 2006-2-11 10:08:00

支持!楼主用什么模块?几米?

qiuhuawei 发表于 2006-2-11 10:33:58

好东西

favr 发表于 2006-2-11 14:08:16

你这个程序的Uni->Text转换不了吧?

"楼b;" 的编码为:"697C623B"

但623B的编码和"戻"字相同,转换回来为:"楼戻"

Text->Uni是可以的,但从Uni到Text就有问题的,出在Unicode是7位的,转换后和7位的ASC重叠,如果没有标记则无法识别。

gxlujd 发表于 2006-2-11 15:48:06

to 楼上:

这个程序只是获取汉字的Unicode编码,因为英文和标点可用TEXT方式发送,所以不用转换成Unicode编码。当然,如果一定要中英文混合转换,试试把“697C623B”改为“697C0062003B”,是不是就可以转为“楼b;”了,呵呵。等GSM模块到手了,测试一下中英文混合短信发送是不是这样编码的,如果是的话修改一下软件,自动在英文符号编码前添加“00”即可。



to 2楼:

打算使用西门子TC35I模块,300大洋左右,网上资料很多,也很经典和稳定的一个模块。



http://cache.amobbs.com/bbs_upload782111/files_5/armok01101915.JPG

ljxh401 发表于 2006-2-11 23:21:50

这东西就能单片机发短信吗

能接电话吗 做电话远程遥控 按键

gxlujd 发表于 2006-2-12 00:34:18

没问题,接上耳机话筒就是一部完整的手机,发短信更是不在话下.

favr 发表于 2006-2-12 01:09:26

呵呵,浏览你发的《AT指令集》的UCS2字母表,可打印的ASCII字符应该是用00+HEX表示的。以下是一个带VBScript的HTML,使用IE5以上的浏览器就可以运行了,可以处理UCS2字母表的内容,不过VB6不能运行。



把下面内容贴成HTML文件即可:



<HTML>

<HEAD>

<TITLE>Unicode字符-编码转换</TITLE>

<META http-equiv=Content-type content="text/html; charset=gb2312">

<META NAME="Author" CONTENT="FengGuoHui">

</HEAD>

<BODY>

<table>

        <tr><td>字符串:</td><td><input size=50 id=srcstr></input>

                        <input type=button value="到编码..." onclick="StrToUni()"></input></td></tr>

        <tr><td>编码:</td><td><input size=50 id=dscstr></input>

                        <input type=button value="到字符串..." onclick="UniToStr()"></input></td></tr>

</table>

</BODY>

</HTML>



<Script Language="vbscript">



Sub StrToUni()

        mstr = srcstr.value



        For i = 1 to Len(mstr)

          masc = Mid(mstr,i,1)



                If Asc(masc)<0 Then

                        masc = Replace(escape(masc),"%","")

                        masc = Replace(masc,"u","")

                        masc = Right("0000" & masc,4)

                else

                  masc = Right("0000" & Hex(Asc(masc)),4)

                End If

                mtstr = mtstr & masc

        Next

       

        dscstr.value = mtstr   

End Sub



Sub UniToStr()

        Dim mstr, mtstr, i, masc

        mstr = dscstr.value

   

        For i = 1 to Len(mstr) Step 4

          masc = Mid(mstr,i,4)

               

                If Left(masc,2)<>"00" Then       

                        masc = "u" & masc

                Else

                        masc = Right(masc,2)

                End If



                mtstr = mtstr & unescape("%" & masc)



        Next

        srcstr.value = mtstr   



End Sub



</Script>


-----此内容被favr于2006-02-12,01:12:49编辑过

armok 发表于 2006-2-12 09:25:56

谢谢。咦,彩虹现在是用VB开发上位机软件?



呵呵,如果反正都是开发,使用C好像好点呢。起码C能做出绿色软件,VB要安装一大堆东东到电脑上,并且VB不能编译到其它的操作系统。

gxlujd 发表于 2006-2-12 15:00:55

装了C++builder后搞得我的WINAVR不能编译,编译器被强制指向C++builder的,而且C++builder里用MS的串口控件还是要先在系统注册这个控件才行,用API方式又没有这个本事,所以只好用回VB了。不过现在用惯了C,用起VB倒是很不习惯了,老想给语句后面加“;”

gxlujd 发表于 2006-2-12 15:14:16

修改了一下Unicode转换小软件,可以支持汉字和英文字符混合转换。



点击此处下载armok01102086.rar

showgu 发表于 2007-7-4 19:52:29

关于c++builder的问题,其实可以这要处理:我的电脑-》属性-》高级-》环境变量设置,将pn添加上去即可使用。

powerful 发表于 2007-7-5 07:49:23

lz能否讲一下实现的方法,想在单片机系统中实现此功能。

dsq2007001 发表于 2007-7-5 17:30:29

现在买一款新的手机才300元,为啥手机里面的一个模块也要300元哪?

czczcz 发表于 2007-7-5 18:08:01

对这个很感兴趣,认真学习一下。

AWEN2000 发表于 2007-7-5 21:54:52

英文的U码其实很简单就是加00凑成2字节的

jiayushu 发表于 2007-8-15 13:23:10

彩虹老师做的怎么样了,期待你的资料公开

XUEPENGBIN 发表于 2008-11-23 14:09:47

收藏了!

hyljx1219 发表于 2008-10-1 16:50:21

很好,也许能用上

xiaoxuanfeng 发表于 2010-5-30 09:24:36

呵呵,很精悍

chys01 发表于 2010-6-3 21:01:51

轻声路过

luojiyin 发表于 2010-6-7 14:44:35

mark

hefanghua 发表于 2011-3-11 16:18:36

不错,如果能支持所有U码就更牛了。话说WINDOWS自带的记事本也可以转换,保存时选择编码为“unicode”,再用UltraEdit打开就看到整篇文章转换结果,可惜记事本转单个字和反查都麻烦。

jiege0129 发表于 2011-3-11 20:13:56

谢谢,正需要这个

zlw1005 发表于 2011-10-15 13:42:15

学习
页: [1]
查看完整版本: 准备进军GSM模块应用,发个自己写的Unicode转换小软件热身一下