请问VB6.0怎么显示汉字呢

2019-12-24 18:38发布

假设我收到 一串数据  0x345678   这些 ,我想用中文显示出来,不知道怎么弄,

chr() 这个是不是只能显示英文字符?

还有就是要用哪一种汉字编码好?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
mndsoft2012
1楼-- · 2019-12-24 22:15
给你提供2个转码函数:

'HEX转汉字
'如H2A("D2BBB6FEC8FDCBC4CEE5")
'返回:一二三四五
Public Function Hex2Ascii(sText As String) As String
    If Len(sText) Mod 2 <> 0 Then sText = "0" & sText
    Dim arr() As Byte
    ReDim arr(Len(sText) 2 - 1) As Byte
    Dim xx As Long
    For xx = 0 To Len(sText) 2 - 1
        arr(xx) = "&h" & Mid(sText, (xx * 2) + 1, 2)
    Next
    Hex2Ascii = StrConv(arr, vbUnicode)
End Function


'带有汉字的ASCII字符转HEX
'如:Ascii2Hex("一二三四五")
'返回:D2 BB B6 FE C8 FD CB C4 CE E5
Public Function Ascii2Hex(sText As String) As String
        Dim i As Long
        Dim hzByte() As Byte
        
        hzByte = StrConv(sText, vbFromUnicode)
        For i = 0 To UBound(hzByte)
         Ascii2Hex = Ascii2Hex & Hex(hzByte(i)) & " "
        Next
        Ascii2Hex = Trim$(Hz2Hex)
        '转回汉字
        'Ascii2Hex = StrConv(hzByte, vbUnicode)        
End Function
isakura
2楼-- · 2019-12-25 00:55
 精彩回答 2  元偷偷看……
modbus
3楼-- · 2019-12-25 06:09
如果数据是机内码,用chr()可自动显示英文或汉字
isakura
4楼-- · 2019-12-25 09:47
modbus 发表于 2017-8-30 09:10
如果数据是机内码,用chr()可自动显示英文或汉字

我尝试了  charw() 这个,是可以显示汉字的....

但是这个是只能识别某一种编码还是可以全部识别,就算是某一种编码,当有字符和汉字时,取一个字节还是两个字节怎么选
isakura
5楼-- · 2019-12-25 12:26
有人知道怎么处理吗?请指点下

我发现  现在vb6.0显示汉字用的是unicode码

比如 丁 字,4E01(unicode编码)     B6A1(GBK编码)

我用 charw(&H4E01) 可以显示 丁
   用 charw(&HB6A1) 时显示的是 ? 号

mndsoft2012
6楼-- · 2019-12-25 15:03
如果处理的是 vbUnicode  ,则使用 StrConv(sText, vbUnicode)

一周热门 更多>