永发信息网

100财富给牛逼之人!就没人知道在linux下用c语言如何将汉字的unicode编码转化为汉字吗?

答案:4  悬赏:20  手机版
解决时间 2021-11-08 02:16
100财富给牛逼之人!就没人知道在linux下用c语言如何将汉字的unicode编码转化为汉字吗?
最佳答案
试试这个四个函数,C 里面的,Linux 可用:
mbtowc
wctomb
mbstowcs
wcstombs
在 Linux 下试试看吧:
#include
#include
#include
int main(void)
{
size_t cch;
char psz[1024];
wchar_t pwsz[] = { 0x52B3, 0x788C, 0x788C, 0 };
setlocale(LC_ALL, "");
cch = wcstombs(psz, pwsz, 1024);
if (cch != 0 && cch != -1) {
printf("%s", psz);
}
return 0;
}
zdl_361 说的 "utf8 劳碌碌" 不对,因为我也输出 "劳碌碌",而我是用 Unicode 编码的。在 Windows 上,char 是 ANSI,Unicode (wchar_t) 是 UTF-16;在 Linux 上,char 是 UTF-8,Unicode (wchar_t) 是 UTF-32。不过对于这个函数来说,在哪个平台上都不会因为字符编码而影响使用。
全部回答
我也在找答案,有号的告诉我一声
我得知道这是什么编码。utf8?
解读完是乱码。
52B3788C788C你从哪里复制的?追问就是接收短信时收到的unicode码流~我要提取内容追答你再看看有没有抄错。
utf8 劳碌碌追问dui 这是我随便发的
除了iconv命令,我们在linux系统下的man page的第三节还可以看到一组iconv函数。它们分别是
  iconv_t iconv_open(const char *tocode, const char *fromcode);
  size_ticonv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
  int iconv_close(iconv_t cd);
  iconv_open函数用来打开一个编码转换的流,iconv函数的作用是实际进行转换,iconv_close函数的作用就是关闭这个流。实际用法参见下面的例子,下面是一个将UTF-8码转换成GBK码的例子,我们假设已经有了一个uft8编码的输入缓冲区inbuf以及这个缓冲区的长度inlen。
  iconv_t cd = iconv_open( "GBK", "UTF-8");
  char *outbuf = (char *)malloc(inlen * 4 );
  bzero( outbuf, inlen * 4);
  char *in = inbuf;
  char *out = outbuf;
  size_t outlen = inlen *4;
  iconv(cd, &in, (size_t *)&inlen, &out,&outlen);
  outlen = strlen(outbuf);
  printf("%s\n",outbuf);
  free(outbuf);
  iconv_close(cd);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
纪斯托罗夫斯基是哪个时候的著名作家?
求一款网络电台DJ主播必备软件!
氢氧化钠溶液能吸收哪些气体
想读高中,家里穷,家人不允许我读高中正确吗
我五年前初中毕业后来可能分数原因没考上,妹
元阳欣然车驾管社会服务站办公地址在什么地方
我想单买一个主机,用普通的电视机作显示屏?
请问叫什么?
计算170x30时,可以这样想:17x3=(),()x()
宝洁公司供应商有哪些
pe管的安装价格大概是多少
描写潮流的诗句
益阳到新化油溪自驾
福元运通(丽景路79)地址在哪,我要去那里办事
剑灵剑士45带什么装备打华兰
推荐资讯
情侣双方都是高颜值,生活中会有什么常人感受
各种树特殊的特点(写成小诗)
字符串描述符怎样用
苹果6背面有美国苹果公司,还有中国制造TD数
苹果手机怎样回到Ios7系统
有哪位高手懂N73一系列问题!
英语单词后面加后缀和前面加前缀分别是什么情
做生意时看到送死人好不好
GMS是什么的缩写?
青州天性峭急,迷于曲直.君当先除曹操,以卒先
宝马2181开机盖怎么开的
田基王喝了有什么好处
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?