社区
C语言
帖子详情
utf-8解码的问题?在线等!!!
talkingmute
2007-01-23 05:15:19
急求utf-8解码的代码?
将如下一组十六进制数,还原成中文....
e8 bf 99 e6 98 af e6 88 91 e7 9a 84 e6 96 b9 e6 a1 88
...全文
529
13
打赏
收藏
utf-8解码的问题?在线等!!!
急求utf-8解码的代码? 将如下一组十六进制数,还原成中文.... e8 bf 99 e6 98 af e6 88 91 e7 9a 84 e6 96 b9 e6 a1 88
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
halve
2007-01-31
打赏
举报
回复
python裏頭很簡單
>>> print unicode('\xe8\xbf\x99\xe6\x98\xaf\xe6\x88\x91\xe7\x9a\x84\xe6\x96\xb9\
xe6\xa1\x88', 'utf-8')
... 这是我的方案
muymuy
2007-01-29
打赏
举报
回复
补充一下:
利用libiconv先将这个utf-8表示的字符串,转换为gbk编码的字符串,然后,打印此字符串就可以显示出汉字。
muymuy
2007-01-29
打赏
举报
回复
这属于字符集编码转换的问题,标准C/C++的函数库里没有这个功能。只能借助第三方库,libiconv是一个很好的选择,linux默认就安装了这个库,开源的,而且跨平台,windows也可以用,需要自己编译一下。
参考:
http://www.gnu.org/software/libiconv/
htqx
2007-01-29
打赏
举报
回复
那要一个编码规律,可能还要一个编码表之类的东西.
只要将uft-8转化为uft-16,就可以用wprintf 这类w开头的字符串函数来处理了.
muymuy
2007-01-29
打赏
举报
回复
补充一句:
大名顶顶的xerces-c(一个处理xml的开发包),为了支持多国语言就是采用wchar_t,wstring,并采用utf-16编码。
iambic
2007-01-29
打赏
举报
回复
typedef wchar_t* String;
String ReadStringAt(FILE* fp, String buffer, size_t buffer_length, size_t utflen)
{
int c, char2, char3;
int count = 0;
unsigned int i;
assert(buffer_length > utflen );
if (buffer_length <= utflen)
{
fprintf(stderr, "too short buffer");
exit(1);
}
for (i = 0; i < utflen; ++i)
{
c = (fgetc(fp)) & 0xFF;
if (c==-1)
{
fprintf(stderr, "EOFException\n");
exit(1);
}
switch (c>>4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
/* 0xxxxxxx*/
count++;
*buffer++ = c;
break;
case 12: case 13:
/* 110x xxxx 10xx xxxx*/
count += 2;
char2 = fgetc(fp);
if (char2==-1)
{
fprintf(stderr, "EOFException\n");
exit(1);
}
if ((char2 & 0xC0) != 0x80)
{
fprintf(stderr, "malformed input around byte %s\n", count);
exit(1);
}
*buffer++ = ((c&0x1F)<<6) | (char2&0x3F);
break;
case 14:
/* 1110 xxxx 10xx xxxx 10xx xxxx */
count += 3;
char2 = fgetc(fp);
char3 = fgetc(fp);
if ( char2==-1 || char3==-1 )
{
fprintf(stderr, "EOFException\n");
exit(1);
}
if ( (char2 & 0xC0) != 0x80 || (char3 & 0xC0) != 0x80 )
{
fprintf(stderr, "malformed input around byte %s\n", count -1 );
exit(1);
}
*buffer++ = ((c&0x0F)<<12) | ((char2&0x3F)<<6) | (char3&0x3F);
break;
default:
/* 10xx xxxx, 1111 xxxx */
fprintf(stderr, "malformed input around byte %s\n", count);
exit(1);
}
}
*buffer++ = 0;
return buffer;
}
muymuy
2007-01-29
打赏
举报
回复
>>libiconv 可以支持多少个国家的编码?
见:http://www.gnu.org/software/libiconv/
这里有详细介绍。
htqx
2007-01-29
打赏
举报
回复
libiconv 可以支持多少个国家的编码?
yecheng_110
2007-01-27
打赏
举报
回复
这个就是把字符串翻译为二进制的数据
保存
用记事本打开不就行了
talkingmute
2007-01-27
打赏
举报
回复
dddddddddddd
talkingmute
2007-01-24
打赏
举报
回复
dddddddddddddd
talkingmute
2007-01-23
打赏
举报
回复
麻烦大哥给我代码来啊,如何转换呢。谢谢!!
halve
2007-01-23
打赏
举报
回复
"这是我的方案"...
汗一个,刚刚手动翻译的 = =b
Synapse TCP/IP Library v24一套通信类和函数库
支持标准ISO编码(ISO-8859-x),Windows编码(CP-125x),KOI8-R和Unicode(UCS-4, UCS-2, UTF-7 and
UTF-8
); 支持MIME编码和
解码
(包括字符转换); 支持SMTP和ESMTP协议 支持HTTP 0.9、1.0和1.1...
自己实现
UTF-8
编码
解码
手动实现
UTF-8
编码
FFmpeg4.3系列之32:庖丁解牛之MPEG-1/2视频编
解码
原理
1/2视频编
解码
原理及实战,本课程主要知识点包括:FFmpeg命令行处理mpeg-1/2视频编
解码
、MPEG-1编
解码
原理详解、MPEG-2编
解码
原理详解、FFmpeg-SDK处理mpeg-1/2视频编
解码
、FFmpeg关于MPEG-1和MPEG-2的源码解析等。...
utf-8
编码
解码
System.out.println("“我是林纳斯”这句话的的按
utf-8
解码
的字节数组为:"+Arrays.toString(a.getBytes(StandardCharsets.UTF_8))); System.out.println("字节数组按
utf-8
编码为: "+new String(ne
<?xml version=“1.0“ encoding=“
UTF-8
“?> 的作用?
version=“1.0” 声明用的xml版本是1.0 encoding=“
UTF-8
” 声明用xml传输数据的时候的字符编码,假如文档里面有中文,编码方式不是
UTF-8
,传输过去再
解码
的话中文就会是乱码
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章