如何将Unicode 字符转化为多字节字符
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
朱金灿
最近使用GTK+,发现GTK+确实是个好东西,因为基于插件式的编程以及在编写跨平台的DLL(在Linux中叫共享库) GTK+都有用武之地。不过在Windows平台上使用GTK+需要注意一个问题,就是GTK+是使用 Unicode 字符集,如果在Windows平台上使用多字节字符集编译,那么获取GTK+函数的出错信息将是一堆乱码,因此在使用多字节字符集编译使用了GTK+函数要特别注意这个问题。
不过我在网上搜索了一些资料,实现了Unicode 字符转化为多字节字符。GTK+函数g_module_error显示插件的最后出错信息。下面调用函数g_module_error为例谈谈如何将多字节字符为Unicode 字符:
#ifdef _DEBUG // 我一般把下面这段代码用在调试程序时
if( !module )
{
int nLen = MultiByteToWideChar( CP_UTF8, 0, g_module_error(), -1, NULL, NULL );//
LPWSTR lpwsz = new WCHAR[nLen];
MultiByteToWideChar( CP_UTF8, 0, g_module_error(), -1, lpwsz, nLen );//
int nLen1 = WideCharToMultiByte( CP_ACP, 0, lpwsz, nLen, NULL, NULL, NULL, NULL );
LPSTR lpsz = new CHAR[nLen1];
WideCharToMultiByte( CP_ACP, 0, lpwsz, nLen, lpsz, nLen1, NULL, NULL );//转换完毕,得到多字节字符
OutputDebugString(lpsz);
delete [] lpwsz;
delete [] lpsz;
}
#endif
最近使用GTK+,发现GTK+确实是个好东西,因为基于插件式的编程以及在编写跨平台的DLL(在Linux中叫共享库) GTK+都有用武之地。不过在Windows平台上使用GTK+需要注意一个问题,就是GTK+是使用 Unicode 字符集,如果在Windows平台上使用多字节字符集编译,那么获取GTK+函数的出错信息将是一堆乱码,因此在使用多字节字符集编译使用了GTK+函数要特别注意这个问题。
不过我在网上搜索了一些资料,实现了Unicode 字符转化为多字节字符。GTK+函数g_module_error显示插件的最后出错信息。下面调用函数g_module_error为例谈谈如何将多字节字符为Unicode 字符:
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献7条内容
所有评论(0)