当前位置: 技术问答>linux和unix
linux下如何把字符串转换为Unicode?
来源: 互联网 发布时间:2016-09-24
本文导语: 我试着用函数mbstowcs: char sz[]= "A"; wchar_t xx[64]={0}; setlocale(LC_ALL, "zh_CN.utf8"); mbstowcs(xx,sz,strlen(sz)); char *p=NULL; p=(wchar_t*)xx; printf("0x%d,0x%dn",p[0],p[1]); 发现对英文和数字是可以的,汉字就不行,打印出来都...
我试着用函数mbstowcs:
char sz[]= "A";
wchar_t xx[64]={0};
setlocale(LC_ALL, "zh_CN.utf8");
mbstowcs(xx,sz,strlen(sz));
char *p=NULL;
p=(wchar_t*)xx;
printf("0x%d,0x%dn",p[0],p[1]);
发现对英文和数字是可以的,汉字就不行,打印出来都是0,不知为什么?
char sz[]= "A";
wchar_t xx[64]={0};
setlocale(LC_ALL, "zh_CN.utf8");
mbstowcs(xx,sz,strlen(sz));
char *p=NULL;
p=(wchar_t*)xx;
printf("0x%d,0x%dn",p[0],p[1]);
发现对英文和数字是可以的,汉字就不行,打印出来都是0,不知为什么?
|
用iconv吧......
|
>>> str='I hate unicode'
>>> unicodestr=unicode(str)
>>> unicodestr
u'I hate unicode'
试试python, 呵呵
|
iconv -f GB18030 -t utf-8
|
iconv -l可以显示支持的字符集编码