如何获取字模偏移量???

2019-03-23 19:47发布

int GetGBKCode_from_sd(unsigned char* pBuffer,unsigned char * c)
{
    unsigned char High8bit,Low8bit;
     unsigned int pos;
     High8bit=*c;     /* 取高8位数据 */
     Low8bit=*(c+1);  /* 取低8位数据 */
     
    pos = ((High8bit-0xb0)*94+Low8bit-0xa1)*2*16 ;
     f_mount(0, &myfs[0]);
     myres = f_open(&myfsrc , "0:/HZLIB.bin", FA_OPEN_EXISTING | FA_READ);
     
    if ( myres == FR_OK )
    {
         f_lseek (&myfsrc, pos);                                                                                                                 //指针偏移
         myres = f_read( &myfsrc, pBuffer, 32, &mybr );                 //16*16大小的汉字 其字模 占用16*2个字节
         
         f_close(&myfsrc);
         
         return 0;  
     }
     
    else
         return -1;   
}
备注:汉字获得区码和位码的算法是这样的:内码高字节 = 区码+A0H = 区码+160      内码低字节 = 位码+A0H = 区码+160  可是为什么在上面的程序中获取偏移量是 pos = ((High8bit-0xb0)*94+Low8bit-0xa1)*2*16 ;???我用的字模软件是字模III增强版 V3.2.3.61.烦请各位知道的大侠不吝赐教,小弟将非常感谢!!! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。