c++从二进制文件中读取并转换为utf-8

c++ read from binary file and convert to utf-8

本文关键字:转换 utf-8 读取 二进制文件 c++      更新时间:2023-10-16

我想在linux上用freadapplication/octet-stream charset=binary文件中读取数据,并将其转换为UTF-8编码。我尝试使用iconv,但它不支持binary字符集。我还没有找到任何解决方案。有人能帮我吗?

谢谢。

根据您给出的MIME,您正在读取非文本二进制格式的数据。您无法使用iconv或类似的代码进行转换,因为它用于将文本从一种(文本)编码转换为另一种。如果你的数据不是文本的,那么转换为任何字符编码都是没有意义的,只会破坏数据,但不会使其变得更可读。

将二进制表示为可读文本以供检查的典型方法是十六进制转储。在c++中实现它有一个现有的答案:https://stackoverflow.com/a/16804835/2079303