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