在VB6中怎么取得一个汉字字符的编码?

如题说述。
怎样写程序才能在VB6中取得一个汉字字符的ChinaGBK编码?比如“你”在GBK中的十六进制编码是"4F60",我在VB中怎样取得这个编码?

我实在是想不起来了,还请高手指点⊙﹏⊙b
最新回答
九四鳁鲸

2025-06-27 03:27:44

VB内部采用unicode,必须转换。

Dim b() As Byte
b = StrConv("你", vbFromUnicode)
'转换为本地机器编码,GB2312/GBK
Debug.Print Hex(CCur(b(0)) * 256 + b(1))

但是这样得出的结果是"C4E3",你所说的"4F60"并不是GBK/GB2312码,而是unicode码,用以下程序得到:

Debug.Print Hex(ascw("你"))
我这个你不爱的人

2025-06-27 14:55:18

150分啊
没有希望了
学习了
Msgbox hex(ascw("你")) =汉字字符的ChinaGBK编码
Msgbox Asc("你")=汉字的ASC码,注意汉字的ASC玛都是负数
未央_离殇

2025-06-27 04:23:38

vb内使用unicode,在转换字符串只需要把字符串赋值给字节数组就可以了.但vb6函数不能指定编码形式.不是unicode编码,就是ASCII编码,使用StrConv函数带VbStrConv.Narrow参数返回的字符串转到字节后就是ASCII编码的.要使用其他编码的使用API.VB.net可以使用system.text.encoding.UTF-8.GetBytes()方法获取十六进制编码
我不会写诗

2025-06-27 15:11:50

print hex(ascw("你"))
莫名的小情绪

2025-06-27 06:18:08

VB内部采用unicode,必须转换。
Dim
b()
As
Byte
b
=
StrConv("你",
vbFromUnicode)
'转换为本地机器编码,GB2312/GBK
Debug.Print
Hex(CCur(b(0))
*
256
+
b(1))
PS:偶是玩C++的啊~~好久没碰过VB这东西了~~你试试不一定行~~