Member 13917072 Ответов: 2

Как преобразовать строку с кодом UTF-8 в обычный текст на java


У меня есть строка, содержащая "C3A1", которая является эквивалентом utf-8 á
Как я могу преобразовать это в á на Java.

Что я уже пробовал:

Я пробовал некоторые способы разобрать его как символ, но ничего не сработало

2 Ответов

Рейтинг:
2

Jochen Arndt

Если у вас есть массив байтов, представляющий строку UTF-8, используйте Java String конструктор, принимающий массив байтов и кодировку:

String str = new String(utf8Bytes, "UTF-8");
Если у вас действительно есть String объект, содержащий строку UTF-8, сначала необходимо преобразовать в массив байтов:
byte[] utf8Bytes = inputStr.getBytes("ISO-8859-1");
Вы можете использовать любую полную 8-битную кодировку в приведенном выше примере. Он просто используется для обеспечения того, чтобы каждый отдельный байт из входной строки копировался в массив байтов.


Рейтинг:
2

Patrice T

Цитата:
Как я могу преобразовать это в á на Java.

Как есть, это не имеет смысла.
Поскольку " А " - это не ASCII, вам нужно понять несколько вещей:
- что такое ascii-код
- что такое ascii с кодовыми страницами
- что такое кодировка UTF и UTF8
- вам нужно понять, как Java обрабатывает кодировку char.

Затем вы решите, какую кодировку вы будете использовать в своем коде. в зависимости от кодировки символ не является одним и тем же.
Цитата:
Я пробовал некоторые способы разобрать его как символ, но ничего не сработало

Вы только не показали, что вы сделали.