Использование символа юникода в файле .java?

Я хочу установить символ юникода в файле класса следующим образом:

TextView tv = ...; tv.setText("·"); 

Есть ли что-то потенциально неправильное в использовании символа Юникода в файле .java?

благодаря

Нет. Строки Java поддерживают Unicode, поэтому вы не должны сталкиваться с какими-либо проблемами. Возможно, вам придется проверить, что класс TextView обрабатывает все символы Unicode (что ему нужно), но сама Java будет обрабатывать символы юникода.

Вы также должны убедиться, что файл сохранен с правильными настройками кодировки. По сути, это означает, что ваш редактор должен сохранять java-файл в кодировке Unicode, кодированный UTF-8. См. Комментарии к этому ответу для получения дополнительной информации об этом.

Есть ли что-то потенциально неправильное в использовании символа unicode в файле .java?

Как вы знаете, строки в JVM хранятся как Unicode, поэтому вопрос заключается в том, как работать с Unicode в исходных файлах Java

Короче говоря, использование Unicode в порядке. Есть несколько способов приблизиться к нему …

По умолчанию компилятор javac ожидает, что исходный файл будет находиться в кодировке по умолчанию платформы. Это можно переопределить, используя флаг -encoding :

-encoding encoding
Устанавливает имя кодировки исходного файла, например EUCJIS / SJIS / ISO8859-1 / UTF8. Если -encoding не указано, используется конвертер по умолчанию платформы.

В качестве альтернативы, если это один символ (например, он кажется), вы можете сохранить исходный файл в кодировке по умолчанию для платформы и указать символ с помощью escape-последовательности Unicode:

 tv.setText("\u1234"); 

… где «1234» – это значение Юникода для нужного вам символа.

Другой вариант – сначала сохранить файл в кодировке, совместимой с Unicode (например, UTF-8), а затем использовать native2ascii для преобразования этого файла в собственную кодировку (он преобразует любые символы вне диапазона в соответствующую escape-последовательность Unicode).

ИМЯ
native2ascii – родной для конвертера ASCII

СИНТАКСИС
native2ascii [ options ] [ inputfile [outputfile]]

ОПИСАНИЕ
Компилятор Java и другие инструменты Java могут обрабатывать только файлы, содержащие символы с кодировкой Latin-1 или Unicode ( \udddd ). Native2ascii преобразует файлы, которые содержат другую кодировку символов, в файлы, содержащие символы Latin-1 или кодированные в кодировке Unicode.

Если выходной файл опущен, для вывода используется стандартный вывод. Кроме того, если входной файл опущен, для ввода используется стандартный ввод.

Intereting Posts