Строки, которые выглядят идентично, могут иметь различные базовые представления. Форма канонического разложения (NFD) Юникода гарантирует, что эквивалентные строки имеют уникальное двоичное представление. Это полезно, когда строки содержат акцентированные символы, которые могут иметь несколько способов их представления.
Рассмотрим строку "jalapeño"
который содержит 8 букв.
Нормализуйте строку с помощью textanalytics.unicode.nfd
функция. В зависимости от системы выхода строка может показаться идентичному входу строке.
Просмотрите количество кода точек в новой строке.
Заметьте, что нормированное представление включает одну дополнительную кодовую точку. В этом случае функция разделяет акцентированную букву "ñ"
в две отдельные точки кода. Извлеките 7-ю и 8-ю точки кода в нормированной строке. В зависимости от системы, выход может показаться одним символом.
Проверяйте, что строки str
и newStr
равны при использовании ==
оператор. Оператор возвращает false, потому что строки имеют различные базовые представления.