日期:2014-05-17  浏览次数:20730 次

HTML中unicode字符串转UTF-8

最近看新浪微博的HTML源码时发现里面用了好多unicode编码方式的字符串,比如:\u65b0\u6d6a\u8ba4\u8bc1,这类unicode编码经过js处理后以utf-8的方式展现给用户。

那么,我们在linux下的C编程,如何处理这类unicode编码呢?

?

首先,我们将字符串转换成unicode数据,然后可以使用unicode与utf-8的对应编码方式,直接转换,另外也可以借助linux系统提供的iconv函数(需要用到iconv.h头文件和-liconv编译选项加载iconv库)将其转换。对于这两种转码方法,第一种不依赖于库,也可以在windows下面使用,第二种则需要iconv库;另一方面,第一种只能转换到utf-8或utf-16等与unicode对应的字符集,第二种则可以在iconv支持的所有字符集内转换(前提是该字符集包含有这些unicode对应的文字)。

?

我在附件中提供这两种实现方法的函数,请下载查看。