c++从二进制文件中读取并转换为utf-8
c++ read from binary file and convert to utf-8
我想在linux上用fread
从application/octet-stream charset=binary
文件中读取数据,并将其转换为UTF-8
编码。我尝试使用iconv
,但它不支持binary
字符集。我还没有找到任何解决方案。有人能帮我吗?
谢谢。
根据您给出的MIME,您正在读取非文本二进制格式的数据。您无法使用iconv
或类似的代码进行转换,因为它用于将文本从一种(文本)编码转换为另一种。如果你的数据不是文本的,那么转换为任何字符编码都是没有意义的,只会破坏数据,但不会使其变得更可读。
将二进制表示为可读文本以供检查的典型方法是十六进制转储。在c++中实现它有一个现有的答案:https://stackoverflow.com/a/16804835/2079303
相关文章:
- HEX值到wchar_t字符(UTF-8)的转换
- 转换特殊字符(UTF-8)
- 如何使用 C++将 ISO-2022-KR 编码转换为 UTF-8 编码?
- 如何将 UTF-8 文本从文件转换为某个可以迭代的容器,并检查每个符号是否为C++字母数字?
- 将C++ std::string 转换为 UTF-16-LE 编码的字符串
- 在基于英语的系统上将 UTF-8 路径转换为宽字符会引发异常
- C++ 将 UTF-8 转换为字符串
- 从/到 UTF-8/UTF-16 的转换需要(例如:utf8 -> 代码点,然后代码点到 utf16)或(例如:utf8 -> utf16)?
- 无法将字符数组转换为包含 utf-8 字符的字符串
- 在 node.js 中将缓冲区从 C++ 转换为 UTF-8 字符串
- 从 ToUnicodeEx() 转换为 UTF-8
- 字符的 UTF-8 转换
- 如何将 PyObject 转换为 UTF-8 字符串
- 如何将代码点转换为 utf-8
- 将转义的 UTF-8 八位字节的字符数组转换为 C++ 的字符串
- "iconv"从 UTF-32LE 转换为 UTF-16LE
- 如何将 utf 字符转换为 windows-1252?
- 在 Linux 中将 UTF-32 宽字符转换为 UTF-16 宽字符以获取补充平面字符
- 将分数(1/8、3/8、5/8、7/8)转换为C 中的UTF-8
- 如何将UTF-8字符串转换为流的编码