Класс Normalizer
public final class Normalizer extends Object
normalize, который преобразует текст Unicode в эквивалентную составную или разложенную форму, упрощая сортировку и поиск текста. Метод normalize поддерживает стандартные формы нормализации, описанные в Приложении № 15 к стандарту Unicode — Формы нормализации Unicode. Символы с диакритическими знаками и другими надстрочными или подстрочными знаками могут быть представлены в Unicode несколькими способами. Например, рассмотрим символ A с акутом. В Unicode его можно представить одним символом (в «составной» форме):
U+00C1 LATIN CAPITAL LETTER A WITH ACUTE или двумя отдельными символами (в «разложенной» форме):
U+0041 LATIN CAPITAL LETTER A
U+0301 COMBINING ACUTE ACCENT Однако для пользователя вашей программы обе эти последовательности должны рассматриваться как один и тот же символ «пользовательского уровня» — «A с акутом». При поиске или сравнении текста необходимо обеспечить эквивалентность этих двух последовательностей. Кроме того, необходимо обрабатывать символы с несколькими диакритическими знаками. Иногда порядок комбинируемых диакритических знаков символа имеет значение, а в других случаях последовательности диакритических знаков с разным порядком фактически эквивалентны. Аналогично, строку «ffi» можно представить тремя отдельными буквами:
U+0066 LATIN SMALL LETTER F
U+0066 LATIN SMALL LETTER F
U+0069 LATIN SMALL LETTER I или одним символом
U+FB03 LATIN SMALL LIGATURE FFI Лигатура ffi не является отдельным семантическим символом и, строго говоря, ей вообще не место в Unicode, но она была включена для совместимости с существующими наборами символов, в которых она уже присутствовала. Стандарт Unicode определяет такие символы, задавая для них «совместимые» разложения на соответствующие семантические символы. При сортировке и поиске часто требуется использовать эти сопоставления. Метод normalize помогает решить эти задачи, преобразуя текст в канонические составную и разложенную формы, как показано в первом примере выше. Кроме того, можно включить совместимое разложение, чтобы обрабатывать символы совместимости так же, как их эквиваленты. Наконец, метод normalize упорядочивает диакритические знаки в соответствии с каноническим порядком, избавляя от необходимости выполнять их перестановку самостоятельно.
W3C в целом рекомендует обмениваться текстами в NFC. Обратите также внимание, что в большинстве устаревших кодировок символов используются только заранее составленные формы, и часто в них вообще не представлены комбинируемые знаки. Для преобразования в такие кодировки текст Unicode необходимо нормализовать в NFC. Дополнительные примеры использования см. в Приложении к стандарту Unicode.
- Начиная с:
- 1.6
- Внешние спецификации
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
Normalizer.Form |
Это перечисление содержит константы для четырёх форм нормализации Unicode, описанных в Приложении № 15 к стандарту Unicode — Формы нормализации Unicode, и два метода для доступа к ним. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static boolean |
isNormalized |
Определяет, нормализована ли заданная последовательность значений char. |
static String |
normalize |
Нормализует последовательность значений char. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, «равен ли» этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
normalize
public static String normalize(CharSequence src, Normalizer.Form form)
- Параметры:
-
src— последовательность значений char для нормализации. -
form— форма нормализации: одна изNormalizer.Form.NFC,Normalizer.Form.NFD,Normalizer.Form.NFKC,Normalizer.Form.NFKD - Возвращает:
- Нормализованную строку
- Вызывает исключение:
-
NullPointerException— еслиsrcилиformравно null.
isNormalized
public static boolean isNormalized(CharSequence src, Normalizer.Form form)
- Параметры:
-
src— последовательность значений char для проверки. -
form— форма нормализации: одна изNormalizer.Form.NFC,Normalizer.Form.NFD,Normalizer.Form.NFKC,Normalizer.Form.NFKD - Возвращает:
- true, если последовательность значений char нормализована; в противном случае false.
- Вызывает исключение:
-
NullPointerException— еслиsrcилиformравно null.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.