base32::core
ИМЯ
base32::core — расширение базовых карт base32
Содержание
КРАТКОЕ ОПИСАНИЕ
package require Tcl 8.5 9
package require base32::core ?0.2?
::base32::core::define map forwvar backwvar ivar
::base32::core::valid string pattern mvar
ОПИСАНИЕ
Этот пакет предоставляет общие команды для построения полных карт base32 на основе базовой карты, содержащей только коды и соответствующие символы. Создаваемые здесь полные прямые и обратные карты преобразуют данные в битовые последовательности и обратно, а также обрабатывают неполные отображения в конце строки.
По сути, это внутренний пакет, предназначенный для разработчиков кодировщиков и декодировщиков base32. Обычному пользователю этот пакет не нужен.
API
-
::base32::core::define map forwvar backwvar ivar
Эта команда вычисляет полные прямую и обратную (инверсную) карты на основе базовой карты map и сохраняет их в переменных с именами forwvar и backwvar соответственно. Она также создает шаблон регулярного выражения для обнаружения недопустимых символов во входных данных, предположительно закодированных в base32, и сохраняет его в переменной с именем ivar.
-
::base32::core::valid string pattern mvar
Эта команда проверяет, является ли входная string допустимой строкой в кодировке base32, используя шаблон pattern недопустимых символов, созданный командой ::base32::core::define, а также ряд других общих правил.
Результатом команды является булев флаг. Его значение равно True, если string допустима, и False в противном случае. Во втором случае сообщение об ошибке с описанием проблемы во входных данных сохраняется в переменной с именем mvar. Если входные данные признаны допустимыми, переменная не изменяется.
Помимо отклонения строк с недопустимыми символами, команда проверяет следующие правила:
- Длина входных данных не кратна восьми;
- Символы дополнения находятся не в конце входных данных, а в середине;
- Длина последовательности символов дополнения не равна шести, четырем, трем или одному символу;
Ошибки, идеи, отзывы
В этом документе и описываемом в нем пакете наверняка есть ошибки и другие проблемы. Просьба сообщать о них в категории base32 системы отслеживания ошибок Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.
Предлагая изменения кода, предоставляйте унифицированные различия, то есть результат выполнения diff -u.
Обратите также внимание: настоятельно рекомендуется прикреплять вложения, а не вставлять исправления непосредственно в текст. Вложения можно добавить, открыв форму Редактировать заявки сразу после ее создания и нажав крайнюю левую кнопку на дополнительной панели навигации.
КАТЕГОРИЯ
Обработка текста
АВТОРСКИЕ ПРАВА
Общественное достояние