汉字
转换成
机器码:
是内码吧?
在一纯文本编辑器(如记事本)编辑汉字,保存。
然后用二进制(十六进制)编辑器(如UEDit,VC的Bin)打开,看到的就是汉字的内码
如果知道某个汉字的区位码,只要将区号和位号分别加上160,然后分别转换为二进制数,区码在前、位码在后,就可以得到该汉字的十六位的机内码(国标码)。如“啊”字的区位码是1601,16+160=176--B0H,01+160=161--A1H,“啊”字的国标码为B0A1(16进制数)。”
也可以用debug等工具,把汉字转换成十六进制数
就用VB给你了,验证都已经通过。计算步骤都标在了右边的注释里面了
------------------------------------------
Dim 区位码 As Long, 机器码 As Long, 高 As Long, 低 As Long
'------ 区位码(=H3565) → 机器码(=C3E1)
区位码 = H3565
高 = (Hex((区位码 And HFF00) / H100) + H20) + H80 '取出高八位后+H20 再加H80
低 = (Hex(区位码 And HFF) + H20) + H80 ‘得到高八位机器码,低八位类似
机器码 = (高 * H100) + 低 '把高低八位的拼接得到机器码
MsgBox "机器码=" Hex(机器码) " 高八位=" Hex(高) " 低八位=" Hex(低)
'------ 机器码(=C3E1) → 汉字(=冕) 这个只是验证用的,与你题目无关
MsgBox "机器码=" Hex(机器码) " 汉字=" Chr(机器码)
'------ 汉字“冕” 直接→ 机器码(=C3E1) 这是另一个问题,与你题目无关
机器码 = Asc("冕") - HFFFF0000
高 = (机器码 And HFF00) / H100
低 = 机器码 And HFF
MsgBox "机器码=" Hex(机器码) " 高八位=" Hex(高) " 低八位=" Hex(低)
------------------------------------------