将UTF-16图像加载到内存中
Loading a UTF-16 image into memory
我正在尝试加载已保存在UTF-16 JFIF格式的ID3图像标签。我使用的库(Juce)无法解析图像,因为它假设数据是原始二进制格式。
我成功解析的大多数图像标签都报告编码为ISO-8859 (latin-1),但由于latin-1是UTF-16的子集,因此转换不起作用。
我怎么能得到这个UTF16编码二进制块在我想要的原始格式?有人能告诉我用UTF16格式存储图像的好处吗?!
latin1不是UTF-16的子集!
我想你误解了文本编码和二进制编码。UTF-16用于字符编码,基本单位是16位整数(UTF-8使用8位整数)。
JPEG图片(JFIF)是二进制编码的,它的数据不应该通过字符编码算法进行转换。
如果你真的这样做了,你就不走运了,因为在二进制流上使用字符转换算法取决于当时使用的"源"文本字符集。
您可以尝试通过猜测初始源字符集,使用iconv将(UTF-16)二进制数据转换回二进制。
相关文章:
- 原子加载和存储与内存顺序放宽
- 如何从内存缓冲区加载张量流图
- 我在 IDA 或 dbg 或 olly 上看到的内存是否与我在 RAM 上实时加载的内存相同?
- 从C/C++(Win64)中的内存加载64位DLL
- 对外部函数的调用是否强制从内存加载
- 将使用 4 或 8 个对齐规则将加载处理到内存中
- C++:类如何将自身加载到内存中以递增全局变量?
- 加载字节数组(从内存)到libpng c
- 将内存保存到文件并加载它而不必解析数据?
- 加载时间,遍历时间,不同数据段C/C 的内存使用率
- 急切地加载整个模型以估计张量流的内存消耗
- 从内存加载动态库
- 为什么编译器在循环中从内存加载此指针
- SFML无法从内存加载图像,未提供任何数据
- 在启动时从内存加载QImages
- 在非托管程序中托管CLR时从内存加载程序集
- CImage::在不使用CreateStreamOnHGlobal的情况下从内存加载()
- 当从内存加载PNG时,Libpng错误无效的块类型
- gdkpixbuf从内存加载图像
- 从内存加载CA证书