内码?区位码?
内码: Ord(strHZ[1])*$100 + Ord(strHZ[2])

解决方案 »

  1.   

    madfish兄能不能说详细一点,我其实想输入一个汉字算出它的区位码,再在16X16的点阵字库里读出字模?
      

  2.   

    我不懂Delphi,输入一个汉字得到是它的内码,由两个字节组成,两个字节分别减去A0H(160),得到的前一个字节是区,后一个字节是位,算该字在16点阵字库中的位置时,((区-DD)*98+位)*32,32指每个16点阵汉字32字节.注意:有些字库前16区省略一些无用的区故要减去DD.公式给的不一定完全正确,自己多试几次就可以了
    希望对你有所帮助.Bye!
      

  3.   

    mjyf的关于汉字机内码和区位码的帖子基本上是正确的.但我记的是汉字2312的字库
    是87区,每区94个汉字,1-9区是标点,制表符号,日文X假名等,10-15空,16-55是汉字
    一级字库(常用),5590-5594空.56区到87区是二级字库.共6763个中文.
    16*16点阵字库就是32字节一个字.但不同的16*16点阵字库的
    排列方法不一定一样,如UCDOS和CCDOS,有的还把10-15区空的压缩了.
    机内码就是你在DELPHI中获得的输入的汉字字符.比如:"啊"的16进制表示.
    区码 := (机内码高8位-$A0);
    位码 := (机内码低8位-$A0);
    偏移量 := ((区码-1)*94+(位码-1))*32
              注意区码和位码是以1为开始的.
      

  4.   

    各位高手我看了你们的贴子已经得到了字模了,不过在实际编写时遇到了一个问题,就是我输入的汉字是STRING类型而ORD函数需要的是Char类型,怎么样将string类型转换为Char类型并分开两部分,请各位指导?