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