首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

救命呀100分.串口接收的有关问题,哪位高手来帮帮小弟我呀.100分

2012-01-02 
救命呀100分.串口接收的问题,谁来帮帮我呀.100分服务器用串口以十六进制发了一串数据到客户机EFEF22007B32

救命呀100分.串口接收的问题,谁来帮帮我呀.100分
服务器用串口以十六进制发了一串数据到客户机
EF   EF   22   00   7B   32   30   30   36   2F   31   32   2F   32   35   20   30   39   3A   33   30   3A   33   34   7D   7B   C1   F8   D6   DD   D5   BE   7D   7B   71   71   71   7D   9F   6F   FE   FE  
翻译结果:
{2006/12/25   09:30:34}{柳州站}{qqq}
如果用ctrmscomm.InputMode   =comInputModeText  
前面的时间常常马乱码.
如果用ctrMSComm.InputMode   =   comInputModeBinary
不知道怎么把十六进制换成中文.
谁能帮我写个接收的程序.

[解决办法]
如果知道某个汉字的区位码,只要将区号和位号分别加上160,然后分别转换为二进制数,区码在前、位码在后,就可以得到该汉字的十六位的机内码(国标码)。如“啊”字的区位码是1601,16+160=176--> B0H,01+160=161--> A1H,“啊”字的国标码为B0A1(16进制数)。”

也可以用debug等工具,把汉字转换成十六进制数

[解决办法]
ctrMSComm.InputMode = comInputModeBinary
用这个接收
[解决办法]

ctrMSComm.InputMode = comInputModeBinary
接收
然后:
chr()函数把十六进制转换成字符

[解决办法]
Public Function AscToStr(ByVal str As String) As String
Dim strTemp() As String
Dim t1 As String
strTemp = Split(str, " ")
For i = LBound(strTemp) To UBound(strTemp) - 1
t1 = t1 & Chr( "&H " & strTemp(i))
Next
AscToStr = t1

End Function

热点排行