准备进军GSM模块应用,发个自己写的Unicode转换小软件热身一下
使用GSM模块的短信功能,免不了跟汉字与Unicode码转换打交道,发个自己写的Unicode转换小软件热身一下(VB6下写的,包里没有附带VB6运行库,没有的自己到网上下载)。点击此处下载armok01101726.rar 收藏!! 支持!楼主用什么模块?几米? 好东西 你这个程序的Uni->Text转换不了吧?
"楼b;" 的编码为:"697C623B"
但623B的编码和"戻"字相同,转换回来为:"楼戻"
Text->Uni是可以的,但从Uni到Text就有问题的,出在Unicode是7位的,转换后和7位的ASC重叠,如果没有标记则无法识别。 to 楼上:
这个程序只是获取汉字的Unicode编码,因为英文和标点可用TEXT方式发送,所以不用转换成Unicode编码。当然,如果一定要中英文混合转换,试试把“697C623B”改为“697C0062003B”,是不是就可以转为“楼b;”了,呵呵。等GSM模块到手了,测试一下中英文混合短信发送是不是这样编码的,如果是的话修改一下软件,自动在英文符号编码前添加“00”即可。
to 2楼:
打算使用西门子TC35I模块,300大洋左右,网上资料很多,也很经典和稳定的一个模块。
http://cache.amobbs.com/bbs_upload782111/files_5/armok01101915.JPG 这东西就能单片机发短信吗
能接电话吗 做电话远程遥控 按键 没问题,接上耳机话筒就是一部完整的手机,发短信更是不在话下. 呵呵,浏览你发的《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编辑过 谢谢。咦,彩虹现在是用VB开发上位机软件?
呵呵,如果反正都是开发,使用C好像好点呢。起码C能做出绿色软件,VB要安装一大堆东东到电脑上,并且VB不能编译到其它的操作系统。 装了C++builder后搞得我的WINAVR不能编译,编译器被强制指向C++builder的,而且C++builder里用MS的串口控件还是要先在系统注册这个控件才行,用API方式又没有这个本事,所以只好用回VB了。不过现在用惯了C,用起VB倒是很不习惯了,老想给语句后面加“;” 修改了一下Unicode转换小软件,可以支持汉字和英文字符混合转换。
点击此处下载armok01102086.rar 关于c++builder的问题,其实可以这要处理:我的电脑-》属性-》高级-》环境变量设置,将pn添加上去即可使用。 lz能否讲一下实现的方法,想在单片机系统中实现此功能。 现在买一款新的手机才300元,为啥手机里面的一个模块也要300元哪? 对这个很感兴趣,认真学习一下。 英文的U码其实很简单就是加00凑成2字节的 彩虹老师做的怎么样了,期待你的资料公开 收藏了! 很好,也许能用上 呵呵,很精悍 轻声路过 mark 不错,如果能支持所有U码就更牛了。话说WINDOWS自带的记事本也可以转换,保存时选择编码为“unicode”,再用UltraEdit打开就看到整篇文章转换结果,可惜记事本转单个字和反查都麻烦。 谢谢,正需要这个 学习
页:
[1]