求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”
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-20
VB书里不是有专用的,转8 转2,转16 就是用楼上那种就OK了。
dim s as string,v
s="我们"
v=hex(s)
ping v
第2个回答  2008-10-20
用hex(x)

求VB将中文字符转换成相应的16进制编码的源代码
这个函数,可以用来生成任意字符的16进制码,Unicode和ANSI都支持:FunctionGetHex(ByValStr1AsString,IsANSIAsBoolean)AsString Dimb1()AsByte IfIsANSIThenb1=StrConv(Str1,vbFromUnicode)Elseb1=Str1 Dims1AsLong,n1AsLong,l1AsLong l1=LBound(b1)n1=UBound(b1)-l1+1 GetHex=Space(n1*2)Fors...

请问用VB怎么把汉字转成16进制然后再转回来,如把“电脑”变成16进制...
Function to16(s1 As String) As String Dim i As Long, tems As String, temasc As Long For i = 1 To Len(s1)tems = Mid(s1, i, 1)temasc = Asc(tems)to16 = to16 & " " & val16(temasc)Next End Function Function val16(l As Long) As String If l < 1 Then l = ...

VB 汉字转16进制并存储成文件
Dim i As Long, n As Integer Dim Data() As Byte Dim a As String a = "中文ab56α●测试!"Print a Print n = 文字转换十六进制(a, Data())For i = 1 To n Print Hex(Data(i));If i Mod 2 = 0 Then Print Next End Sub Public Function 文字转换十六进制(ByVal 文字 As S...

求vb中将字符串转换为16进制的ascii码代码
Hex$(x) 是把10进制的数字变成16进制 如y=Hex$(10)就是求10的十六进制数 那么 y=A 字母,数字,和汉字的asc码都只要用asc()这个函数就可以求出来了 你把问题写写清楚的话,我可以写下代码 Option Explicit Dim aa$, bb$, hexstr$, I&, S Private Sub Command1_Click()Dim lendd As...

求vb中将字符串转换为16进制的ascii码
Dim i As Integer text2=""For i = 1 To Len(Text1)Text2 = Text2 + format(Hex(Asc(Mid(Text1, i, 1))),"0000")Next 以上为热心网友的结果,只是为了准确转换数字与汉字,加了一点东西.

VB中如何将字符串转换成16进制并赋值给变量
val("&H" & Text1.text) 来转文本框的16进制内容转换成数字,想到得到数字的16进制字符串可以使用hex函数 dim UDS_TXID_P,UDS_RXIDUDS_TXID_P = Val("&H" & Text1.text)UDS_RXID = Val("&H" & Text2.text)'想要以16进制输出,则如下print hex(UDS_TXID_P)pritn hex(UDS_RXID)

████VB如何将中文字符转换为16进制?██高手进██
Private Sub Command1_Click()Dim A$, i%, B A = text1.text For i = 1 To Len(A)B = B & Hex(Asc(Mid(A, i, 1)))Next text2.text=B End Sub

VB中怎么使字符串转换成16进制数据参与运算
Val("&H" & b)这个就是转换成十进制 hex(Val("&H6fa3" )\/val("&Ha0))用VAL函数转10进制 运算后再用hex函数转回十六 不很简单么

VBS如何把字符串转换为16进制数值?
Public Function StrToHex(ByVal strS As String) As String '将字符串转换为16进制 Dim abytS() As Byte Dim bytTemp As Byte Dim strTemp As String Dim lLocation As Long abytS = StrConv(strS, vbFromUnicode)For lLocation = 0 To UBound(abytS)bytTemp = abytS(lLocation)strTemp =...

用VB如何将中文字符与16进制码互相转换?
取字符码 ascw( sChn)转16进制 Hex( )综合就是 hex (ascw(sChn))转回来 就是 chrw

相似回答
大家正在搜