求VB将中文字符转换成相应的16进制编码的源代码
我的意图是将
比如“我们”这个词转换成
ANSI是 89E43F
unicode是 11623F00
UTF-8是 E688913F
这类的软件有,但我不知道用VB怎么写
哪位大侠帮帮我吧
我用的是VB6.0,是在不知道怎么搞了,谢谢大家
这个函数,可以用来生成任意字符的16进制码,Unicode和ANSI都支持:
Function GetHex(ByVal Str1 As String, IsANSI As Boolean) As String
Dim b1() As Byte
亏轿 If IsANSI Then b1 = StrConv(Str1, vbFromUnicode) Else b1 = Str1
Dim s1 As Long, n1 As Long, l1 As Long
l1 = LBound(b1)
n1 = UBound(b1) - l1 + 1
GetHex = Space(n1 * 2)
肢空岩 For s1 = 1 To n1
Mid(GetHex, s1 + s1 - 1, 2) = Replace(Format(Hex(b1(s1 + l1 - 1)), "@@"), " 历御", "0")
Next
End Function
使用:
Debug.Print "ANSI码:";GetHex("我们",True)
Debug.Print "Unicode码:";GetHex("我们",False)
显示结果:
ANSI码:CED2C3C7
Unicode码:1162EC4E
上面的是正确结果。你给的“ANSI是 89E43F,unicode是 11623F00”是错的,你随便找一个16进制编辑器验证下吧。两个汉字的ANSI码怎么也都是4字节的不可能是3字节的,Unicode汉字中也不会有“00”
VB书里不是有专敬咐用的,转8 转2,转16 就是此稿唤森凯用楼上那种就OK了。
dim s as string,v
s="我们"
v=hex(s)
ping v
用hex(x)