Как преобразовать последовательность символов в UTF-8 в Java? - PullRequest
1 голос
/ 15 февраля 2010

Извините, что задали основные вопросы здесь. Простите меня.

У меня есть последовательность строк в Unicode следующим образом.

String unicode = "\u8BF7\u5728\u6B64\u5904\u8F93\u5165\u4EA7\u54C1\u7F16\u53F7\u6216\u540D\u79F0";

Как я могу преобразовать это в китайский текст или текст UTF-8?

Ответы [ 2 ]

3 голосов
/ 15 февраля 2010

Сама строка всегда будет в Unicode; Я не уверен, что вы подразумеваете под «преобразовать это в китайский текст», но чтобы преобразовать его в двоичное представление, используя UTF-8, вы бы использовали:

byte[] bytes = unicode.getBytes("UTF-8");

или вы можете использовать Charset - например, используя библиотеку Guava , вы просто используете:

byte[] bytes = unicode.getBytes(Charsets.UTF_8);

(Это позволяет избежать хрупкости при указании строки и избежать беспокойства по поводу перехвата UnsupportedEncodingException.)

Или вы можете объявить:

final static Charset UTF_8 = Charset.forName("UTF-8");

в верхней части вашего класса, чтобы избежать целой библиотеки в качестве лекарства для строки.

0 голосов
/ 15 февраля 2010

Вы сказали выше, что выводите в браузер? ... Если вы используете сервлет или что-то подобное, есть разные способы сделать это, возможно, вам нужно быть более конкретным в своем вопросе, потому что вы можете указать unicode / utf-8 / utf-16 в заголовке ответа http или в выводе html, например вывод следующих тегов внутри элементов <head>:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...