base64
Этот модуль реализует кодировщик и декодер base64.
Нестабильный API.
Base64 — это техника кодирования и декодирования, используемая для преобразования двоичных данных в формат ASCII-строки. Каждый символ Base64 представляет ровно 6 бит данных. Три 8-битных байта (то есть в общей сложности 24 бита) могут быть представлены четырьмя 6-битными символами Base64.
Основные примеры использования
Кодирование данных
import base64
let encoded = encode("Hello World")
assert encoded == "SGVsbG8gV29ybGQ="
Помимо строк, вы также можете кодировать списки целых чисел или символов:
import base64 let encodedInts = encode([1,2,3]) assert encodedInts == "AQID" let encodedChars = encode(['h','e','y']) assert encodedChars == "aGV5"
Декодирование данных
import base64
let decoded = decode("SGVsbG8gV29ybGQ=")
assert decoded == "Hello World" URL-безопасный Base64
import base64
doAssert encode("c\xf7>", safe = true) == "Y_c-"
doAssert encode("c\xf7>", safe = false) == "Y/c+" См. также
- модуль hashes для эффективных вычислений хеш-значений для различных типов Nim
- модуль md5 реализует алгоритм MD5 checksum
- модуль sha1 реализует кодировщик и декодер sha1
Процедуры
proc encode[T: SomeInteger | char](s: openArray[T]; safe = false): string
-
Кодирует
sв представление base64.Эта процедура кодирует открытый массив (массив или последовательность) целых чисел или символов.
Если
safeравноtrue, то кодирование будет выполнено с использованием стандартного алфавита URL-безопасного и безопасного для файловой системы, где-заменяет+, а_заменяет/.См. также:
- процедура encode для кодирования строки
- процедура decode для декодирования строки
Пример:
assert encode(['n', 'i', 'm']) == "bmlt" assert encode(@['n', 'i', 'm']) == "bmlt" assert encode([1, 2, 3, 4, 5]) == "AQIDBAU="
Исходный код Редактировать proc encode(s: string; safe = false): string {...}{.raises: [], tags: [].}-
Кодирует
sв представление base64.Эта процедура кодирует строку.
Если
safeравноtrue, то кодирование будет выполнено с использованием стандартного алфавита URL-безопасного и безопасного для файловой системы, где-заменяет+, а_заменяет/.См. также:
- процедура encode для кодирования открытого массива
- процедура decode для декодирования строки
Пример:
assert encode("Hello World") == "SGVsbG8gV29ybGQ="Исходный код Редактировать proc encodeMime(s: string; lineLen = 75; newLine = "\c\n"): string {...}{.raises: [], tags: [].}-
Кодирует
sв представление base64 в виде строк. Используется в формате MIME электронной почты, используйтеlineLenиnewline.Эта процедура кодирует строку в соответствии со спецификацией MIME.
См. также:
- процедура encode для кодирования строки
- процедура decode для декодирования строки
Пример:
assert encodeMime("Hello World", 4, "\n") == "SGVs\nbG8g\nV29y\nbGQ="Исходный код Редактировать proc initDecodeTable(): array[256, char] {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc decode(s: string): string {...}{.raises: [ValueError], tags: [].}-
Декодирует строку
sв представлении base64 обратно в её исходную форму. Пробелы в начале строки пропускаются.См. также:
- процедура encode для кодирования открытого массива
- процедура encode для кодирования строки
Пример:
assert decode("SGVsbG8gV29ybGQ=") == "Hello World" assert decode(" SGVsbG8gV29ybGQ=") == "Hello World"Исходный код Редактировать
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/base64.html