27 lines
1.7 KiB
Markdown
27 lines
1.7 KiB
Markdown
|
# chgk_txt2json
|
|||
|
|
|||
|
Конвертер **текстовых** файлов с вопросами в **JSON** формат.
|
|||
|
Исходные файлы вопросов должны находиться в ZIP файле `baza_utf8.zip`, результат будет записан в файл `json.zip`.
|
|||
|
|
|||
|
## Особенности
|
|||
|
|
|||
|
### Кодировка исходных файлов
|
|||
|
|
|||
|
В оригинальных файлах базы используется кодировка `KOI8-R`.
|
|||
|
Но из за того что [tokio::AsyncBufReadExt::lines](https://docs.rs/tokio/latest/tokio/io/trait.AsyncBufReadExt.html#method.lines) работает только с `UTF-8`, эта утилита работает с файлами которые уже в кодировке `UTF-8`.
|
|||
|
|
|||
|
### Алгоритм сжатия выходного архива
|
|||
|
|
|||
|
Для сжатия файлов в выходном архиве используется метод `Zstandard`, т.к. он достаточно быстр и по степени сжатия сопоставим с обычным `Deflate`.
|
|||
|
|
|||
|
Но для просмотра содержимого таких ZIP файлов нужно использовать ПО c поддержкой `Zstandard`, например:
|
|||
|
|
|||
|
- [Modern7z](https://www.tc4shell.com/ru/7zip/modern7z)
|
|||
|
- [7-Zip-zstd](https://github.com/mcmilk/7-Zip-zstd)
|
|||
|
|
|||
|
## Ссылки
|
|||
|
|
|||
|
- Исходная база вопросов: http://db.chgk.info
|
|||
|
- Копия файлов базы вопросов: https://gitlab.com/b4tman/db_chgk
|
|||
|
- Утилита конвертации кодировки текстовых файлов в ZIP архиве: https://gitea.b4tman.ru/temp/ztb_recode
|