c++ - 将数组转换为编码字符串

标签 c++ c iconv

我正在使用 libiconv 将 char 数组转换为编码字符串。 我是图书馆的新手。 我想知道在调用 iconv_open("To-be-encoded","given-encoded-type")

之前如何知道给定数组的编码类型

这是我需要知道的第二个参数。

最佳答案

It's the second parameter that I need to know.

是的,您确实需要知道它。 IE。是你需要告诉 iconv 你的数组是什么编码。没有可靠的方法来检测用于生成一组字节的编码 - 最多你可以根据字符进行猜测频率或其他此类启发式方法。

但是如果没有来自元数据或文件/数据格式本身的其他信息,就无法 100% 确定。 (例如 HTTP 提供 header 来指示编码,XML has that capability too。)

换句话说,如果您不知道您拥有的字节流是如何编码的,您就无法将其转换为其他任何内容。您需要知道起点。

关于c++ - 将数组转换为编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998746/

相关文章:

c - 为什么我的右移运算符在 c 中按逻辑而不是算术运行?

图标:EILSEQ 带有 ASCII//IGNORE 但不带有 ASCII//TRANSLIT//IGNORE

unicode - 为什么iconv可以转换 "É"的预组合形式而不是分解形式(从UTF-8到CP1252)

c++ - 成绩不会显示

c++ - 需要使用互斥量显式定义复制构造函数

c - 我怎样才能停下来呢?

c++ - Linux 上的 iconv() 32 位与 64 位

c++ - OpenCV - 从相机设备获取像素数据

c++ - Valgrind 报告标准库中未初始化的值 (vfprintf.c)

c - 括号不平衡