记录 关于Unicode 转 UTF-8 字符编码
来源:互联网 发布:unity3d室内场景建模 编辑:程序博客网 时间:2024/06/05 18:47
最近项目被字符编码困扰好久,原因是服务端是java默认的utf-8 字符编码,客户端是mfc的unicode 字符编码,两者不统一,发送中文时乱码。当我在网上找了好久,发现了下面的文章,一下解决了。做个记录,免得日后忘记没地看。
char* EncodeToUTF8(const char* mbcsStr) { wchar_t* wideStr; char* utf8Str; int charLen; charLen = MultiByteToWideChar(CP_UTF8, 0, mbcsStr, -1, NULL, 0); wideStr = (wchar_t*) malloc(sizeof(wchar_t)*charLen); MultiByteToWideChar(CP_ACP, 0, mbcsStr, -1, wideStr, charLen); charLen = WideCharToMultiByte(CP_UTF8, 0, wideStr, -1, NULL, 0, NULL, NULL); utf8Str = (char*) malloc(charLen); WideCharToMultiByte(CP_UTF8, 0, wideStr, -1, utf8Str, charLen, NULL, NULL); free(wideStr); return utf8Str;}
char* UTF8ToEncode(const char* mbcsStr){ wchar_t* wideStr; char* unicodeStr; int charLen; charLen = MultiByteToWideChar(CP_UTF8, 0, mbcsStr, -1, NULL, 0); wideStr = (wchar_t*) malloc(sizeof(wchar_t)*charLen); MultiByteToWideChar(CP_UTF8, 0, mbcsStr, -1, wideStr, charLen); charLen =WideCharToMultiByte(CP_ACP, 0, wideStr, -1, NULL, 0, NULL, NULL); unicodeStr = (char*)malloc(charLen); WideCharToMultiByte(CP_ACP, 0, wideStr, -1, unicodeStr, charLen, NULL, NULL); free(wideStr); return unicodeStr;}
如果工程是Unicode字符集的话,上面的函数要做修改
0 0
- 记录 关于Unicode 转 UTF-8 字符编码
- 字符编码, Unicode, UTF-8
- [转]字符编码,ansi, unicode,utf-8, utf-16
- 关于字符编码:ASCII,Unicode和UTF-8
- 关于字符编码笔记(ASCII,Unicode和UTF-8)
- 关于字符编码ANSI、UNICODE、UTF-8等
- 字符编码 Unicode UTF-8 UTF-16 UTF-32 ANSI
- 关于Unicode编码和UTF-8编码
- [转]字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码详解及由来(UNICODE,UTF-8,GBK)[转]
- 字符编码笔记:ASCII,Unicode和UTF-8(转)
- 字符编码笔记:ASCII,Unicode和UTF-8(转)
- (转)字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码笔记:ASCII,Unicode和UTF-8(转)
- [转]字符编码笔记:ASCII,Unicode和UTF-8
- 转:字符编码详解及由来(UNICODE,UTF-8,GBK)
- [转]字符编码笔记:ASCII,Unicode和UTF-8
- 字符编码笔记:ASCII,Unicode和UTF-8(转)
- 151231_工具遐想
- (搬运)如何正确获得Android内置SD卡跟外置可插拔SD卡
- IE8 未知的运行时错误(ueditor编辑器在ie8、ie7下出现JS错误的解决方法)
- Android开发必备(干货源码放送大)
- QT:moveToThread与信号与槽机制的第五个参数Qt::ConnectionType
- 记录 关于Unicode 转 UTF-8 字符编码
- 【C语言】关于宏定义中#和##符号的使用和宏定义展开问题
- ldap服务器搭建——问题整理
- 撮合系统设计调研(2)
- LINUX-网络-ifconfig
- Android中Canvas绘图详解
- Spring boot将配置属性注入到bean类中
- Android 解决dialog无法弹出输入键盘
- 微信amr格式语音转MP3