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