Spec-Zone.ru › Nim 1

unidecode

Этот модуль основан на модуле Unidecode Python от Tomaz Solc, который, в свою очередь, основан на модуле Text::Unidecode Perl от Sean M. Burke (http://search.cpan.org/~sburke/Text-Unidecode-0.04/lib/Text/Unidecode.pm ).

Он предоставляет единственную функцию, которая выполняет транслитерацию Unicode в ASCII: она находит последовательность ASCII-символов, являющуюся наиболее близким приближением к строке Unicode.

Например, ближайшим к строке "Äußerst" в ASCII является "Ausserst". Конечно, в этом преобразовании теряется некоторая информация, так как несколько строк Unicode могут быть преобразованы в одну и ту же ASCII-представление. Таким образом, это строго однонаправленное преобразование. Однако читатель, скорее всего, сможет догадаться, какая исходная строка имелась в виду из контекста.

Для работы этому модулю требуется файл данных "unidecode.dat": этот файл по умолчанию встроен в ваше приложение в качестве ресурса. Но вы также можете определить символ --define:noUnidecodeTable во время компиляции и использовать функцию loadUnidecodeTable для инициализации этого модуля.

Импорты

unicode, strutils

Функции

proc loadUnidecodeTable(datafile = "unidecode.dat") {...}{.raises: [], tags: [].}
загружает файл данных, необходимый для работы unidecode. Это необходимо только в том случае, если модуль был скомпилирован с ключом --define:noUnidecodeTable. Его необходимо вызвать в главном потоке перед тем, как любой поток сможет вызвать unidecode. Исходный код Редактировать
proc unidecode(s: string): string {...}{.raises: [], tags: [].}

Находит последовательность ASCII-символов, являющуюся наиболее близким приближением к строке UTF-8 s.

Пример:

unidecode("北京")

Результат: "Bei Jing"

Исходный код Редактировать

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/unidecode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API