PB中字符编码转换
PB中字符编码转换[ansi, UTF8, Unicode] API: WideCharToMultiByte() MultiByteToWideChar ()函数运用
由于项目的需要和服务器进行XML格式的报文交互。可是服务器返回的报文是UTF8格式的,PB开发工具目前的只支持ANSI编码格式。经过多方的查找资料以及不断的实验调试,终于完成了。
字符编码格式在这里就不做详细的叙述,大家可以自己到网上去参考相关文档。
=========================================API 参考===============================================
利用windows系统自带的API函数进行转换,附带函数参数说明,如果还需要更详细的资料可以网上搜索:
int MultiByteToWideChar( UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr,int cchMultiByte, LPWSTR lpWideCharStr,int cchWideChar );
CodePage:指定执行转换的代码页,这个参数可以为系统已安装或有效的任何代码页所给定的值。[说白了就unicode需要转换成什么字符编码]: (我想最常用的应该是CP_ACP(0)和CP_UTF8(65001) )
dwFlags: 指定是否转换成预制字符或合成的宽字符,对控制字符是否使用像形文字,以及怎样处理无效字符。
lpMultiByteStr:指向将被转换字符串的字符。
cchMultiByte:指定由参数lpMultiByteStr指向的字符串中字节的个数。如果lpMultiByteStr指定的字符串以空字符终止,可以设置为-1(如果字符串不是以空字符中止,设置为-1可能失败,可能成功),此参数设置为0函数将失败。
lpWideCharStr:指向接收被转换字符串的缓冲区。
cchWideChar:指定由参数lpWideCharStr指向的缓冲区的字符个数。若此值为零,函数返回缓冲区所必需的宽字符数,在这种情况下,lpWideCharStr中的缓冲区不被使用。
返回值:
如果函数运行成功,并且cchWideChar不为零,返回值是由lpWideCharStr指向的缓冲区中写入的宽字符数;
如果函数运行成功,并且cchMultiByte为零,返回值是接收到待转换字符串的缓冲区所需求的宽字符数大小。
如果函数运行失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
它可以返回下面所列错误代码:ERROR_INSUFFICIENT_BUFFER;ERROR_INVALID_FLAGS;ERROR_INVALID_PARAMETER;ERROR_NO_UNICODE_TRANSLATION。
int WideCharToMultiByte(UINT CodePage,DWORD dwFlags,LPWSTR lpWideCharStr,int cchWideChar,LPCSTR lpMultiByteStr,int cchMultiByte,LPCSTR lpDefaultChar,PBOOL pfUsedDefaultChar);
CodePage:指定执行转换的代码页,这个参数可以为系统已安装或有效的任何代码页所给定的值[说白了就是什么字符编码转换成unicode编码。常用CP_ACP(0)和CP_UTF8(65001)
dwFlags: 指定如何处理没有转换的字符,但不设此参数函数会运行的更快一些,我都是把它设为0。
lpWideCharStr: 待转换的宽字符串。
cchWi
转换字符编码_计算机软件及应用_IT/计算机_专业资料。字符编码转换字符编码 1.使用什么方法来进行字符编码的转换? 常用的字符编码转换方法: iconv(),MB-String 函数...
字符编码转换_计算机软件及应用_IT/计算机_专业资料。各种字符编码介绍及转换方法 Gbk 码位图 Gb18030 码位图 Unicode 编码 U+0000 – U+007F U+0080 – U+...
字符编码之间的相互转换 UTF8 与 GBK C++ UTF8 编码转换 CChineseCode 一 ...4,代码单元: 在每种编码形式中,代码点被映射到一个或多个代码单元。 “代码...
常用字符集介绍和编码转换原理_计算机软件及应用_IT/计算机_专业资料。介绍常用的字符集和编码转换原理,值得一看哦 常用字符集介绍和编码转换原理 目录 1. GB2312 ...
字符编码之间的相互转换 UTF8与GBK_计算机软件及应用_IT/计算机_专业资料。字符...4,代码单元: 在每种编码形式中,代码点被映射到一个或多个代码单元。“代码...
字符编码之间的相互转换 UTF8 与 GBK C++ UTF8 编码转换 CChineseCode 一 ...4,代码单元: 在每种编码形式中,代码点被映射到一个或多个代码单元。“代码...
数据库字符编码转换_IT/计算机_专业资料 暂无评价0人阅读0次下载举报文档数据库字符编码转换_IT/计算机_专业资料。SQL> shutdown immediate Database closed. ...
jquery字符编码转换_IT/计算机_专业资料。java字符集乱码编码(完全解决方案) Ajax 遭遇 GBK 编码(完全解决方案)占 个座位先国内互联网普遍都是使用 GBK 编码。对于...
GB2312编码、日文编码等也是非unicode编码,是要通过转换表(codepage)转换成...这里的关系是,UTF-8是Unicode的实现方式之一,它规定了字符如何在计算机中存储、...
检测方法:写\u4e00格式的汉字,绕开 javac 编码,再在 jvm 中,将汉字作为 int 打印, 看值是否相等;或直接以 UTF-8编码打开.class 文件,看看常量字符串是否正确...

我要评论