+ -
当前位置:首页 → 问答吧 → Linux下数据格式转换问题

Linux下数据格式转换问题

时间:2011-12-04

来源:互联网

#include <iostream>
using namespace std;

int main ()
{
unsigned short us = 44195;
cout<<(char)us<<endl;
return 0;
}
这段代码为什么不能正常输出?我期望的结果是会输出一个GBK编码的逗号,自己刚开始在Linux下编程。求原因

作者: noQQ1029   发布时间: 2011-12-04

转换成char后它就被切断了。且char无法表示宽字符。
wchar_t可以表示宽字符,但一般用于表示UNICODE字符,很少有人用它搞GBK的。

GBK的话,不妨试试使用char数组,然后到网上找找相关的转换字符的库,Linux默认应该可以支持utf-8,所以转换过去就行。

作者: steedhorse   发布时间: 2011-12-04

引用 1 楼 steedhorse 的回复:

转换成char后它就被切断了。且char无法表示宽字符。
wchar_t可以表示宽字符,但一般用于表示UNICODE字符,很少有人用它搞GBK的。

GBK的话,不妨试试使用char数组,然后到网上找找相关的转换字符的库,Linux默认应该可以支持utf-8,所以转换过去就行。


HI steedhorse:
是这样的,公司底层处理的数据得到的是unsigned short *型的GBK编码。现在想把这种类型的转化成汉字输出。是有很多库能从GBK到uft-8.但是我迷惑的是怎么把unsinged short 型的数据,转成GBK的汉字,然后再成utf-8的数据

作者: noQQ1029   发布时间: 2011-12-04

热门下载

更多