获取汉字机内码方法ABC

Author: 钱祖军 Date: 1997-01-01

  有时,我们在编辑软件时,需要查找、修改汉字,但一些软件不能直接输入汉字,而必须使用汉字机内码,如广为使用的PCTOOLS 5.0、DEBUG等软件。下面介绍几种获得汉字机内码的方法。
  先用纯文本编辑软件如EDIT、QEDIT、CCED等将需要查找机内码的汉字输入一文本文件中(假定为HZM.TXT),也可用DOS命令COPY.CON, HZM.TXT直接建立。
  假设文件HZM.TXT的内容为:微型计算机
#2  A、使用PCTOOLS
  首先进入PCTOOLS的文件服务功能,选中该文件后按E(编辑)打开,再按F1键转换成十六进制模式,此时屏幕显示中间部分为文件内容的机内码,右边为对应的文件内容。
  此五个汉字的机内码(16进制)分别为:
  微CEA2 型D0CD 计BCC6 算CBE3 机BBFA
#2  B、使用DEBUG
  在DOS下,有一个调试工具DEBUG,使用它可以获得汉字机内码。
  首先在DOS提示符下键入:
  C:>DEBUG HZM.TXT<回车>
  -D100LA<回车>
  xxxx:0100 CE A2 D0 CD BC C6 CB E3-BB FA
  ∥此时显示的十六制码即为微型计算机的机内码。∥
  -Q<回车>   ∥退出DEBUG∥
  也可用DOS管道命令,将机内码输出到一个文本文件中,具体做法为:
  先用文本编辑软件编一文件HZ1.TXT。文件内容有两行:
  D100L??
  Q
  其中的??为十六进制数。其算法为:
  HZM.TXT中的汉字个数×2所得结果(为十进制数)转换成十六制即成。本例中,5×2=10,转换成十六进制??即为A。
  然后在DOS提示符下键入:
  C:>DEBUG HZM.TXT <HZ1.TXT >HZ2.TXT
  HZ2TXT中即有所需汉字的机内码。
#2  C、利用DBASE、FOXBASE或FOXPRO的ASC()函数
  例如在FOXBASE中,“微”的机内码算法为
  第一字节=ASC(SUBS(’微’,1,1))结果为206
  第二字节=ASC(SBUS(’微’,2,1))结果为162
  此时算出的数为十进制数,转换成16进制即为CE、A2。