0

我正在尝试加载以 UTF-16 JFIF 格式保存的 ID3 图像标签。我使用的库 (Juce) 无法解析图像,因为它假定数据是原始二进制格式。

我解析的大多数图像标签都成功地将编码报告为 ISO-8859 (latin-1),但由于 latin-1 是 UTF-16 的子集,因此无法进行转换。

如何以我想要的原始格式获得这个 UTF16 编码的二进制块?谁能告诉我以 UTF16 格式存储图像的好处?!

4

1 回答 1

0

latin1 不是 UTF-16 的子集!

我认为您误解了文本编码和二进制编码。UTF-16 用于字符编码,基本单位是 16 位整数(UTF-8 使用 8 位整数)。

JPEG 图片 (JFIF) 是二进制编码的,其数据永远不应通过字符编码算法进行转换。

如果你真的这样做了,那么你就不走运了,因为在二进制流上使用字符转换算法取决于当时使用的任何“源”文本字符集。

您可以尝试使用 iconv 猜测初始源字符集,将 (UTF-16) 二进制数据转换回二进制。

于 2013-05-02T12:33:48.503 回答