VB十六进制与汉字互转

作者&投稿:濯空 (若有异议请与网页底部的电邮联系)
16进制(什么格式都可以)转换为汉字的VB代码~

汉字转换为16进制字串:
h = Hex(Asc("你"))

16进制字串转换为汉字:
c = Chr("&H" & h)

VB字符串可通过使用StrConv 函数,将字符串由 Unicode 转成系统的缺省码页后,再获取每个字节的十六进制字符后拼接起来。
StrConv 函数,返回按指定类型转换的 Variant (String)。

实现代码:
Private Sub Command1_Click() Dim strSj As String Dim strHexSj As String Dim i As Long Dim bytSj() As Byte strSj = "123ABC十六进制" bytSj = StrConv(strSj, vbFromUnicode) For i = 0 To UBound(bytSj) strHexSj = strHexSj & Right("0" & Hex(bytSj(i)), 2) Next Debug.Print strHexSjEnd SubvbFromUnicode,将字符串由 Unicode 转成系统的缺省码页。
既可以转换单字节字符也可转换双字节字符。

Private Sub Form_Load()
Debug.Print FromHex("C4E3")
Debug.Print ToHex("你")
End Sub
' 用途:将十六进制转化为十进制
' 输入:Hex(十六进制数)
' 输入数据类型:String
' 输出:HEX_to_DEC(十进制数)
' 输出数据类型:Long
' 输入的最大数为7FFFFFFF,输出的最大数为2147483647
Public Function HEX_to_DEC(ByVal Hex As String) As Long
Dim i As Long
Dim B As Long

Hex = UCase(Hex)
For i = 1 To Len(Hex)
Select Case Mid(Hex, Len(Hex) - i + 1, 1)
Case "0": B = B + 16 ^ (i - 1) * 0
Case "1": B = B + 16 ^ (i - 1) * 1
Case "2": B = B + 16 ^ (i - 1) * 2
Case "3": B = B + 16 ^ (i - 1) * 3
Case "4": B = B + 16 ^ (i - 1) * 4
Case "5": B = B + 16 ^ (i - 1) * 5
Case "6": B = B + 16 ^ (i - 1) * 6
Case "7": B = B + 16 ^ (i - 1) * 7
Case "8": B = B + 16 ^ (i - 1) * 8
Case "9": B = B + 16 ^ (i - 1) * 9
Case "A": B = B + 16 ^ (i - 1) * 10
Case "B": B = B + 16 ^ (i - 1) * 11
Case "C": B = B + 16 ^ (i - 1) * 12
Case "D": B = B + 16 ^ (i - 1) * 13
Case "E": B = B + 16 ^ (i - 1) * 14
Case "F": B = B + 16 ^ (i - 1) * 15
End Select
Next i
HEX_to_DEC = B
End Function'十六进制转汉字
Public Function FromHex(ByVal lyHex As String) As String
FromHex = Chr(HEX_to_DEC(lyHex))
End Function'汉字制转十六进
Public Function ToHex(ByVal lyCH As String) As String
ToHex = Hex(Asc(lyCH))
End Function


...注意这里是十进制数字),机内码是多少(十六进制)?
“华”的区位码=2710=1B0AH,机内码=区位码(十六进制)+A0A0H =1B0AH+A0A0H =BBAAH 基本字义:华(拼音:huá,huà,huā)是汉语常用字,此字初文见于西周金文。华的古字形像花朵,本义指草木的花,读huā。用作动词,指开花。南北朝时期产生了“花”字,用于花朵义。花朵是美丽的,故“...

已知汉字“长”的机内码(十六进制)为B3A4,则该字的区位码(十进制...
选D 区位码2211是十进制数 22(区)转换成十六进制是16 11(位)转换成十六进制是0B 十六进制的区位码为160BH,加上2020H得到国标码为362BH。国标码加上8080H得到机内码B6ABH

汉字"东"的十六进制的国标码是362BH,那么它的机内码是
前字节的编码称为区码,后字节的编码称为位码,此即区位码,;如“保”字在二维代码表中处于17区第3位,区位码即为“1703 ”。国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的...

如果一汉字的机内码是(CEF3)H,那么它的国标码是十六进制的。。。
(4E73)H。H是十六进制的意思。B0A1H中:B的十进制为11 0的十进制为0 A的十进制为10 1的十进制为1 这样就把估且B0A1改写为:11\/0\/10\/1

b的十六进制单位是什么?
B,KB,MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB,CB更高的还有XB,1XB=1024CB,它们之间的换算关系是:(1)1B=8bit;(2)1KB=1024B;(3)1MB=1024KB;(4)1GB=1024MB;(5)1TB=1024GB;(6)1PB=1024TB;(7)1EB=1024PB;(8)1ZB=1024EB;(9)1YB=1024ZB;(10)1BB...

十六进制中A、 B、 C、 D、 E、 F各代表什么?
十六进制中A,B,C,D,E,F(字母使用大写)这六个字母来分别表示10,11,12,13,14,15。16进制多位数字母需要换算,换算方法:16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方??所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,...

一个汉字的十六进制国标码是“4E23”,则该汉字的二字节十六进制内码是...
H 所以,该汉字的机内码为CEA3 H。西文字符由于数量较少(通常不超过128个),所以采用1个字节(8位)就能完成对所有的西文字符的编码,ASCⅡ码规定西文字符的编码只使用字节的低7位(从第1位到第7位),最高位设为0。所以ASCⅡ码的编码范围是十进制数0~127(写成十六进制即00H~7FH)。

...那么“b”字符所对应的ASCII码是???用十六进制表示
已知“A”字符所对应的ASCII码是1000001,那么“b”字符所对应的ASCII码是62(十六进制)。ASCII码中大写英文字母之后是6个标点符号字符,再之后是小写英文字母,并且都是连续表。所以b在A后面33位,所以b的ASCII码=1000001(二进制)+33(十进制)=1100010(二进制)=(十六进制)。标准ASCII 码也叫基础...

o、 b、 c、 h、 d、十六进制各对应什么?
O :Octet, 八进制 B :Binary, 二进制 H :Hex, 十六进制 D :Decimal, 十进制 进位制\/位置计数法是一种记数方式,故亦称进位记数法\/位值计数法,可以用有限的数字符号代表所有的数值。可使用 数字符号的数目称为基数(en:radix)或 底数,基数为n,即可称n进位制,简称n进制。现在最常用的是...

两道电脑转换进制的题,不要计算器!要人工算的!!!
10,11,12,13,14,15 也可以用竖式表示:第0位: B* 16^0 =11 第1位: 4 * 16^1 = 64 第2位: 3 * 16^2 = 768 第3位: B * 16^3 =45056 汉字“中”的十六进制的机内码是D6D0H,国标码你自己算吧 1.机内码与区位码 机内码高位字节=(区号)H+A0H 机内码低位字节=(位...

大港区18075922796: 如何用VB读取十六进制文件,并翻译为中文
羊俭福静: 读取的话,你就可以逐行读出来,然后两个16进制字符做成一个字节: 比如十六进制A,B char c; c = A * 16 + B; 如果你读到的是字符'A','B' 那么就要换算一下,对应的16进制值.比如'A'对应A(10). 至于翻译成中文,这个要看你使用哪种编码了 有ANSI,Uicode等

大港区18075922796: VB中汉字字符串转成16进制编码 -
羊俭福静: “他是一个16进制数” 这个可能有点问题 参数的类型应该没有分什么进制的,16进制只是查看程序显示比较方便罢了 直接把Ansi压入就可以了 也就是直接压入Strconv("我是中国人",vbFromUnicode) 如果说程序发送的真的是十六进制字...

大港区18075922796: vb中将十六进制的数据与字符型互相转换 -
羊俭福静: Dim S as string,A,I as IntegerS="28 44 49 52 45 43 54 4f 52 59 4c 49 53 54 20 46 4f 52 29"A=Split(S," ")S=""For i=0 to ubound(A)S= S...

大港区18075922796: VB十六进制和中文的转换
羊俭福静: 先把十六进制数转换到十进制的(通过除十取余法),在利用电脑的ASCII码转换到汉字即可,源代码在这里就不提供了!

大港区18075922796: vb 如何把 16 进制字符转换成英文和汉字 -
羊俭福静: 1 要确定16进制是几位表示一个字符2 按上面的长度把16进制字符切片,每个切片是一个字符3 把16进制数转成10进制数4 根据编码把10进制数转换成对应的字符

大港区18075922796: vb程序: 求一个vb程序,可以实现text1.text中十六进制数与字符相互转换 -
羊俭福静: 文本框的内容都是字符串.假设Text1保存10进制数,Text2保存16进制数. 进制转换一种简便的方法是利用VB的转换函数进行自动转换: Text2.Text = "&H" & Hex(Text1.Text)'转换成16进制.添加 "&H" 便于下面的转换 Text1.Text = Format(Val(Text2.Text))'转换成10进制当然也可以自己写过程进行转换,逐个数字分析,利用公式进行转换,有兴趣可以查查相关的资料

大港区18075922796: ■■■用VB把16进制转换为汉字,关于ReadProcessMemory函数■■■ -
羊俭福静: dim c4() as byte在使用ReadProcessMemory时要先预配缓冲大小(比如说你要读的字符有N个,那就用redim c4(N*2+1),最好是多两个字节,当然用N*2-1也行,那就刚刚好大小.多两个字符是为了后面好转成字符串输出).

大港区18075922796: VB 如何将中文转换成十六进制?
羊俭福静: 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 GetHex = "" For s1 = LBound(b1) To UBound(b1) ...

大港区18075922796: 求VB将中文字符转换成相应的16进制编码的源代码 -
羊俭福静: 这个函数,可以用来生成任意字符的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, ...

大港区18075922796: vb中怎么将汉字转化成十六进制unicode字符 -
羊俭福静: 有这样的一些函数:StrConv 函数的语法为:StrConv(待转换字串, 转换格式) 其中转换格式参数有:vbUnicode = 将 Ansi 字串转换为 Unicode vbFromUnicode = 将 Unicode 字串转换为 Ansi

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网