COM口接受字符编码转换解决办法
COM口接受字符编码转换
有一台短信发送说明书,可以手法短信,其中短信的发送我已经都写完了,现在在写接受短信的部分。
使用超级中断调试,说明文档是这样描述接受短信的协议的:
AT+WSCL=6,4 -->设置短信为中文,Unicode编码
OK
Note: Set language to Chinese, encoding
to UNICODE
AT+CMGS=”8585551212”<CR>-->发送短信到手机,手机号经过算法处理
Ãû×Ö<ctrl-Z> -->发送内容,这里是看起来是乱码,不知道经过什么样的处理产生的。
Note : Send a message in Chinese
+CMGS: <mr>
OK
Note : Message sent
说明文档中说是Unicode编码,但是我接受时不管怎么转换都是显示的乱码,有人知道如何把Ãû×Ö显示为中文吗?
解决问题之后分数可再加100!
------解决思路----------------------
一般对发送的文本加密再以bit8 位发送, 接收端先解密.
------解决思路----------------------
好像com口是UTF-8的base64 加密的 方式 你可以试试
------解决思路----------------------
COM口传输的是字节流,不关编码的,编解码是你自己的事,你试试不通过COM传输,也就是发送的字符在内存中转成字节流,然后再转回来,能正确解码否?
再监控看看,COM接收到的字节数据有否丢失,你用MSCOM,可能丢失字节数据
换个控件,比如cport或spcomm试试
有一台短信发送说明书,可以手法短信,其中短信的发送我已经都写完了,现在在写接受短信的部分。
使用超级中断调试,说明文档是这样描述接受短信的协议的:
AT+WSCL=6,4 -->设置短信为中文,Unicode编码
OK
Note: Set language to Chinese, encoding
to UNICODE
AT+CMGS=”8585551212”<CR>-->发送短信到手机,手机号经过算法处理
Ãû×Ö<ctrl-Z> -->发送内容,这里是看起来是乱码,不知道经过什么样的处理产生的。
Note : Send a message in Chinese
+CMGS: <mr>
OK
Note : Message sent
说明文档中说是Unicode编码,但是我接受时不管怎么转换都是显示的乱码,有人知道如何把Ãû×Ö显示为中文吗?
解决问题之后分数可再加100!
------解决思路----------------------
一般对发送的文本加密再以bit8 位发送, 接收端先解密.
------解决思路----------------------
好像com口是UTF-8的base64 加密的 方式 你可以试试
------解决思路----------------------
COM口传输的是字节流,不关编码的,编解码是你自己的事,你试试不通过COM传输,也就是发送的字符在内存中转成字节流,然后再转回来,能正确解码否?
再监控看看,COM接收到的字节数据有否丢失,你用MSCOM,可能丢失字节数据
换个控件,比如cport或spcomm试试