学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 电脑基础知识 > PB中字符编码转换

PB中字符编码转换

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

第1页

TOP相关主题

  • pb中字符串编码
  • pb 字符集转换
  • pb base64转换字符集
  • pb字符串转换为utf 8
  • 字符编码转换
  • 字符编码转换器
  • java字符串编码转换
  • 在线字符编码转换

我要评论

相关文档

  • 转换字符编码

    转换字符编码_计算机软件及应用_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

    字符编码之间的相互转换 UTF8与GBK_计算机软件及应用_IT/计算机_专业资料。字符...4,代码单元: 在每种编码形式中,代码点被映射到一个或多个代码单元。“代码...

  • 字符编码之间的相互转换 UTF8与GBK

    字符编码之间的相互转换 UTF8 与 GBK C++ UTF8 编码转换 CChineseCode 一 ...4,代码单元: 在每种编码形式中,代码点被映射到一个或多个代码单元。“代码...

  • 数据库字符编码转换

    数据库字符编码转换_IT/计算机_专业资料 暂无评价0人阅读0次下载举报文档数据库字符编码转换_IT/计算机_专业资料。SQL> shutdown immediate Database closed. ...

  • jquery字符编码转换

    jquery字符编码转换_IT/计算机_专业资料。java字符集乱码编码(完全解决方案) Ajax 遭遇 GBK 编码(完全解决方案)占 个座位先国内互联网普遍都是使用 GBK 编码。对于...

  • 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之...

    GB2312编码、日文编码等也是非unicode编码,是要通过转换表(codepage)转换成...这里的关系是,UTF-8是Unicode的实现方式之一,它规定了字符如何在计算机中存储、...

  • java - 字符编码转换过程说明

    检测方法:写\u4e00格式的汉字,绕开 javac 编码,再在 jvm 中,将汉字作为 int 打印, 看值是否相等;或直接以 UTF-8编码打开.class 文件,看看常量字符串是否正确...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部