C中的UTF-16到UTF-8

时间:2012-08-22 18:48:56

标签: c csv utf-8 utf-16

在C中,我需要编写一个程序来解析以UTF-16编码的CSV文件,然后对该信息进行处理,并使用该处理过的信息生成新的UTF-16 csv文件。

到目前为止,我的所有程序都将CSV文件(UTF-16)的内容加载到一块内存中,我现在需要以某种方式使用这个UTF-16内存块并且我不完全是确定如果不转换它我将如何去做,因为我甚至不能使用strlen或类似因为它具有的所有NULL

如何将UTF-16转换为UTF-8然后再转换为UTF-16?我假设我需要使用fseek获取原始CSV(UTF-16)文件的总文件大小,而不是。但即便如此,我该如何进行转换呢?

我这样做的原因是因为我正在使用来自WonderWare的一些CSV格式的“转储”文件(UTF-16)。

1 个答案:

答案 0 :(得分:4)

如果您使用的是* nix系统,则可以使用iconv

示例:iconv -f UTF16 -t UTF8 file.csv