标题:VB 显示汉字
只看楼主
icefox225
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-3
 问题点数:0 回复次数:3 
VB 显示汉字
下位机发上来的数据为C5 B7 C4 B7 C1 FA,对应的中文为欧姆龙,怎么显示到VB的text文本框中啊,
我用了
For i = 0 To 6
Text2.Text = Text2.Text & Chr(m_ReadData(i))
Next i
这个显示出来的是乱码。
不知道怎么实现,有没大神指教下啊!!
搜索更多相关主题的帖子: 欧姆龙 文本框 汉字 中文 
2014-06-09 12:53
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:0 
Text2.Text = m_ReadData
2014-06-09 14:37
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:0 
如果 m_ReadData 是byte数组的话,应该是text2=strconv( m_ReadData,vbunicode),不能直接text2= m_ReadData,因为从你传递过来的码看是16位asc码,而text2显示汉字是用汉字内码显示的,如果你反过来看m_ReadData =text2的话,你会发现这几个汉字在内存的的码实际为:39,107,198,89,153,159,这是这几个汉字内码的十进制数据。如果你非要用循环完成显示的话,则代码如下:
  Text2 = ""
  For i = 0 To Ubound(m_ReadData) Step 2
    Text2 = Text2 & Chr(CLng(m_ReadData(i)) * 256 + m_ReadData(i + 1))
  Next


[ 本帖最后由 lowxiong 于 2014-6-9 17:20 编辑 ]
2014-06-09 17:13
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
得分:0 
qq:775420425

本人QQ:775420425
2014-07-01 17:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432677-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.257091 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved