ExifInterface: getAttribute для TAG_USER_COMMENT возвращает только "UNICODE"
Я использую ExifInterface для чтения тега EXIF UserComments в файле jpeg в моем приложении Java Android Studio.
Я могу использовать команду exiftool в Linux, чтобы проверить, есть ли данные в поле UserComment.
ExifInterface exif = new ExifInterface(inputStream);
String s = exif.getAttribute(ExifInterface.TAG_USER_COMMENT);
При его запуске строка s содержит "UNICODE".
Есть идеи, что с этим делать?
Также я планирую прочитать другие теги EXIF. Могу ли я сделать несколько вызовов getAttribute() или мне нужно как-то сбросить поток между вызовами?
Заранее спасибо!
1 ответ
Прикинул первую часть.
Вместо использования exif.getAttribute() я использовал exif.getAttributeBytes(). Это считывает его в массив байтов. Затем я использую функцию String для преобразования массива байтов в строку. После этого символы "UNICODE" все еще остаются на передней части строки, поэтому я обрезаю их с помощью substr().
Вот результат:
byte[] s = exif.getAttributeBytes(ExifInterface.TAG_USER_COMMENT);
String u = new String(s, StandardCharsets.UTF_8).substring(7);