2013-05-22 4 views
3

Я изучаю формат файла класса.Как преобразовать byte [] в Modified-UTF8 в строку?

И я столкнулся с закодированным байтом с модифицированным UTF8 [].

Есть ли удобный способ преобразования этого байта [] в строку без DataInput # readUTF?

Я не мог найти ни одного символа для этого.

ответ

0

Вы должны попробовать декодировать обычное имя кодировки UTF-8. Единственное отличие в Модифицированном UTF-8 - неканоническое кодирование нулевого кодового пункта, и, поскольку, по всей вероятности, ваша строка не содержит нулевых символов, она будет правильно декодирована.

+0

А как насчет 4-байтовых символов UTF-8? –

+1

Измененный кодировщик UTF-8 никогда не испускает 4-байтных символов UTF-8, что четко указано в документации. –

+0

В этом ответе говорится: «Вы должны попробовать» и «есть хороший шанс», или, другими словами, вы не знаете наверняка, просто можно предположить, что, возможно, декодер кодировки UTF-8 делает правильные вещи, но вы не делаете знать себя. Поэтому я спрашиваю: вы пытались? Знаете ли вы, что это действительно работает? Или это, возможно, не работает вообще, потому что это всего лишь предположение, которое представлено здесь. – scravy

Смежные вопросы