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

我想把这三个汉字的unicode编码"52B3788C788C"转化为汉字,如何实现,为什么都是在windows下?为什么都是vb之类的?,没有人会在linux下用c语言... 我想把这三个汉字的unicode编码"52B3788C788C"转化为汉字,如何实现,为什么都是在windows下?为什么都是vb之类的?,没有人会在linux下用c语言吗?解决掉悬赏100财富(解决掉追加~) 展开
 我来答
nusicvvv
2012-08-28 · TA获得超过2574个赞
知道大有可为答主
回答量:3576
采纳率:33%
帮助的人:1960万
展开全部
 除了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);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-08-29 · TA获得超过9898个赞
知道大有可为答主
回答量:4076
采纳率:0%
帮助的人:3548万
展开全部
试试这个四个函数,C 里面的,Linux 可用:
mbtowc
wctomb
mbstowcs
wcstombs
在 Linux 下试试看吧:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
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。不过对于这个函数来说,在哪个平台上都不会因为字符编码而影响使用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不知详解
2012-08-28 · 知道合伙人软件行家
不知详解
知道合伙人软件行家
采纳数:609 获赞数:2252
自学计算机。

向TA提问 私信TA
展开全部
我得知道这是什么编码。utf8?
解读完是乱码。
52B3788C788C你从哪里复制的?
更多追问追答
追问
就是接收短信时收到的unicode码流~我要提取内容
追答
你再看看有没有抄错。
utf8 劳碌碌
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ygtdoc
2012-08-28
知道答主
回答量:13
采纳率:0%
帮助的人:2万
展开全部
我也在找答案,有号的告诉我一声
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式