请问怎么把 汉字 转换成 机器码 (中文转机器码)

2023-03-18 18:34:07 密码用途 思思

汉字

转换成

机器码:

是内码吧?

在一纯文本编辑器(如记事本)编辑汉字,保存。

然后用二进制(十六进制)编辑器(如UEDit,VC的Bin)打开,看到的就是汉字的内码

汉字怎么转换成十六进制???

如果知道某个汉字的区位码,只要将区号和位号分别加上160,然后分别转换为二进制数,区码在前、位码在后,就可以得到该汉字的十六位的机内码(国标码)。如“啊”字的区位码是1601,16+160=176--B0H,01+160=161--A1H,“啊”字的国标码为B0A1(16进制数)。”

也可以用debug等工具,把汉字转换成十六进制数

已知一个汉字的区位码为3565,求其机内码,要写出计算步骤

就用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(低)

------------------------------------------