在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
function Big5ToUnicode(str Char): widestring; var len: integer; begin len:=MultiByteToWideChar(950,0,PChar(str),-1,nil,0); setlength(result,len-1); MultiByteToWideChar(950, 0, PChar(str), -1, pwidechar(result), len+1); result:=' '+result; end;
MultiByteToWideChar(950, 0, PChar(str), -1, pwidechar(result), len+1) 各个参数含义: 950:码表,950即Big5和Unicode的对应表;
在Big5ToUnicode函数中MultiByteToWideChar使用了两次,第一次是计算所需缓冲区大小,第二次才是正式的转换。结果的长度设成多少需要实验一下,因为结尾或许有不想要的字符。但是不能不设或设成0,这样result并没有获得地址分配,转换会出错。
如果是GB2312,码表号是936。大部分的转码软件都是使用了这个API,GB2312与Big5的互相转换也是通过Unicode进行的。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论