Каков стандартный алгоритм преобразования символов Юникода в нижний регистр?

Я хочу знать стандартный алгоритм преобразования символов Юникода в нижний регистр, предложенный unicode.org .

Кроме того, большинство языков программирования следуют этому предложенному стандартный?

7
задан ErikE 10 September 2010 в 17:07
поделиться

3 ответа

Я хочу знать стандартный алгоритм для преобразования символов Юникода в строчные буквы, предложенные unicode.org.

Основной алгоритм состоит в том, чтобы просто объединить строчные буквы каждого отдельного символа (как определено в предпоследнем столбце в UnicodeData.txt ). Есть также некоторые специальные правила для обработки многосимвольных отображений (İ → i̇ с дополнительной КОМБИНИРУЮЩЕЙ ТОЧКОЙ НАД i), условных отображений (Σ → ς в конце слова, в противном случае - σ), и правила, зависящие от языка (например, турецкий без точки ı).

Кроме того, большинство языков программирования следовать этому предложенному стандарту?

Java делает. Python реализует основные правила, но не специальные. А в C вообще нет стандартизированной поддержки Unicode.

4
ответ дан 7 December 2019 в 07:38
поделиться

Языки программирования различаются по тому, насколько хорошо они поддерживают Unicode. Большинство из них не имеют символов Юникода в качестве встроенного типа. Обычно это обрабатывается либо в библиотеке, либо с помощью вызовов ОС.

Например, C ++ не имеет собственного символьного типа Unicode, но имеет поддержку локали в stl (которая определена как часть языка). У Ada есть собственный тип Wide_Character, а также поддержка библиотеки для управления им.

1
ответ дан 7 December 2019 в 07:38
поделиться

.NET действительно имеет поддержку юникода и предлагает встроенные функции для переключения между верхним и нижним регистром. Вероятно, это справедливо и для некоторых других языков.

2
ответ дан 7 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: