2013-04-16 27 views
0

我試圖加載已經以UTF-16 JFIF格式保存的ID3圖像標籤。我使用的庫(Juce)無法解析圖像,因爲它假定數據是原始二進制格式。將UTF-16圖像加載到內存中

我已經成功解析過的大部分圖像標籤都報告ISO-8859(latin-1)的編碼,但是因爲latin-1是UTF-16的子集,所以轉換不起作用。

如何以我想要的原始格式獲得此UTF16編碼的二進制塊?任何人都可以啓發我以UTF16格式存儲圖像的好處嗎?!

回答

0

latin1不是UTF-16的子集!

我想你誤會了文本編碼和二進制編碼。 UTF-16用於字符編碼,基本單位是一個16位整數(UTF-8使用8位整數)。

甲JPEG圖像(JFIF)是二進制的編碼,和它的數據應該永遠不會經由字符編碼算法轉換。

如果你真的這樣做了,你的運氣了,因爲使用的二進制流的字符轉換算法取決於當時使用的任何「源」的文本字符集。

你或許可以嘗試通過猜測初始源字符集到(UTF-16)的二進制數據轉換爲二進制,用iconv。