Я пытаюсь загрузить тег изображения ID3, который был сохранен в формате UTF-16 JFIF. Библиотека, которую я использую (Juce), не может проанализировать изображение, так как предполагает, что данные находятся в необработанном двоичном формате.
Большинство проанализированных тэгов изображений успешно сообщают о кодировке как ISO-8859 (latin-1), но, поскольку latin-1 является подмножеством UTF-16, преобразование не будет работать.
Как я могу получить этот кодированный двоичный блок UTF16 в необработанном формате, который я хочу? И кто-нибудь может просветить меня о преимуществах хранения изображения в формате UTF16 ?!
latin1 не является подмножеством UTF-16!
Я думаю, что вы неправильно поняли кодировку текста и двоичную кодировку. UTF-16 используется для кодирования символов, базовый блок представляет собой 16-разрядное целое число (UTF-8 использует 8-разрядное целое число).
Изображение JPEG (JFIF) имеет двоичное кодирование, и его данные никогда не должны преобразовываться с помощью алгоритма кодирования символов.
Если вы действительно сделали это, вам не повезло, поскольку использование алгоритма преобразования символов в двоичном потоке зависит от того, какой «исходный» текстовый набор символов использовался в то время.
Вероятно, вы можете попытаться преобразовать эти (UTF-16) двоичные данные обратно в двоичные угадывание исходный набор символов, используя iconv.
Других решений пока нет …