首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

PB12 解码ansi的十六进制,该如何解决

2012-03-09 
PB12 解码ansi的十六进制我有个问题 16进制的字符串 在PB9 中可以正常解码成中文中华人民共和国在PB12

PB12 解码ansi的十六进制
我有个问题 16进制的字符串 在PB9 中可以正常解码成中文"中华人民共和国"
在PB12 就转成乱码了
例:PB9 "D6D0BBAAC8CBC3F1B9B2BACDB9FA"-->"中华人民共和国"
  PB12 "D6D0BBAAC8CBC3F1B9B2BACDB9FA"-->"ÖлªÈËÃñ¹²ºÍ¹ú"
有解吗?

[解决办法]
你用的是什么函数?把代码贴上来了

主要是把char->chara、left->lefta之类的应该就可以了
[解决办法]
学习~
[解决办法]
pb 9 编码方式ANSI

PB10以后 UNICODE 

ANSI中的字符采用8bit,汉字占双字节。而UNICODE中的字符采用16bit

所以 ANSI下:中华人民共和国长度应该是14

UNICODE下:中华人民共和国长度是7

所以在PB12下 想继续使用PB9的函数需要把LEN CHAR之类的 改为LENA CHARA

例如:PB11下

messagebox("",string(len("中华人民共和国"))) //弹出7

messagebox("",string(lena("中华人民共和国"))) //弹出14
[解决办法]
根据不同的场合用API MultiCharToWideChar()或者相反的WideCharToMultiChar()看看。

热点排行