Wiki

Clone wiki

cp1125 / Home

python encoding cp1125 (RUSCII)

Кодування символів згідно стандарту РСТ УССР 2018-91 для роботи з деякими органами державної влади, зокрема для роботи зі звітністю НБУ. Pure python. Цікаво, що специфікацію цього державного стандарту неможливо знайти в інтернеті у відкритому доступі, так що модуль може бути корисним не тільки користувачам Python :-)

import codecs, cp1125
codecs.register(lambda x: cp1125.getregentry())
u'Текст на українській мові'.encode('cp1125').decode('cp1125')

Також присутній інтерфейс командної строки подібний iconv.

Примітка: стандартний iconv підтримує кодування cp1125.

Примітка: http://pypi.python.org/pypi/iconv_codecs - пакет, що дозволяє реєструвати та використовувати в Python кодування символів, що підтримуються GNU iconv в системі.

$ ./cp1125.py -h
Usage: cp1125.py [OPTIONS...] [FILE...]

Options:
  -h, --help            show this help message and exit
  -t NAME, --to_encoding=NAME
                        encoding for output [default: utf8]
  -d DECODING_ERRORS, --decoding_errors=DECODING_ERRORS
                        input errors handling http://docs.python.org/library/codecs.html#codec-base-classes [default: strict]
  -e ENCODING_ERRORS, --encoding_errors=ENCODING_ERRORS
                        output errors handling [default: strict]
  -o FILE, --output=FILE
                        output file (if not specified - STDOUT is used)

Updated