原来用的是MultiByteToWideChar(),可惜这个函数依赖于操作系统中的code page,由于后来用的是日文的系统,代码表发生了变化,而且由于是在Pocket PC上,wince.nls不可变化(我们不是OEM),所以不能正确转化。
  请问谁有好办法,或者有最新的GB-Unicode转化表及相应算法也行?

解决方案 »

  1.   

    MultiByteToWideChar(936,...)
    我一般使用VB 的 StrConv(string, conversion, LCID)
    也可以使用转换表,我没有在Pocket PC上面做过程序,不敢说一定行
      

  2.   

    936是使用中文码表,我在日文系统上要使用932,不过日文系统(Pocket PC)的码表文件wince.nls不包含中文码表,而且集成进了rom,不能修改(当然,如果是OEM,可以用Platform Builder创建包含中文码表的WinCE操作系统),所以,系统不能把GB码转化为Unicode。我只能自己写程序转化了。
      

  3.   

    哦,谢谢
    [email protected]
    我正试图用程序生成呢
    不过有点费时间,呵呵
      

  4.   

    自己写程序转吧,我们在UNIX上转换,原理是按GB2312的区来,然后再根据一张对应的转换码表进行转换
      

  5.   

    已经发了。
    rar包中有两个文件:GB2312.TXT和GB2312-unicode.dat。
    用法:从GB2312.TXT找到你要转换的GB汉字,然后到GB2312-unicode.dat的相同位置(偏移量)取出unicode码。
      

  6.   

    sans(sans)多谢了,你的邮件收到了,你帮我省了好多时间呢 : )