Кодирование Base64
Кодирование Base64
Заголовок раздела «Кодирование Base64»Кодирование бинарных данных в base64-строки и декодирование обратно. Используется стандартное кодирование base64 согласно RFC 4648.
Загрузка
Заголовок раздела «Загрузка»local base64 = require("base64")Кодирование
Заголовок раздела «Кодирование»Кодирование данных
Заголовок раздела «Кодирование данных»Преобразует строку (включая бинарные данные) в base64.
-- Кодирование текстаlocal encoded = base64.encode("Hello, World!")print(encoded) -- "SGVsbG8sIFdvcmxkIQ=="
-- Кодирование бинарных данных (например, из файла)local image_data = fs.read_binary("photo.jpg")local image_b64 = base64.encode(image_data)
-- Кодирование JSON для передачиlocal json = require("json")local payload = json.encode({user = "alice", action = "login"})local token_part = base64.encode(payload)
-- Кодирование учётных данныхlocal credentials = base64.encode("username:password")local auth_header = "Basic " .. credentials| Параметр | Тип | Описание |
|---|---|---|
data | string | Данные для кодирования (текст или бинарные) |
Возвращает: string, error — пустая строка на входе возвращает пустую строку.
Декодирование
Заголовок раздела «Декодирование»Декодирование данных
Заголовок раздела «Декодирование данных»Декодирует base64-строку обратно в исходные данные.
-- Декодирование текстаlocal decoded = base64.decode("SGVsbG8sIFdvcmxkIQ==")print(decoded) -- "Hello, World!"
-- Декодирование с обработкой ошибокlocal data, err = base64.decode(user_input)if err then return nil, errors.new("INVALID", "Invalid base64 data")end
-- Декодирование бинарных данныхlocal image_b64 = request.bodylocal image_data, err = base64.decode(image_b64)if err then return nil, errendfs.write_binary("output.jpg", image_data)
-- Декодирование частей JWTlocal parts = string.split(jwt_token, ".")local header = json.decode(base64.decode(parts[1]))local payload = json.decode(base64.decode(parts[2]))| Параметр | Тип | Описание |
|---|---|---|
data | string | Закодированная base64-строка |
Возвращает: string, error — пустая строка на входе возвращает пустую строку.
| Условие | Kind | Повторяемо |
|---|---|---|
| На вход не строка | errors.INVALID | нет |
| Недопустимые символы base64 | errors.INVALID | нет |
| Повреждённый padding | errors.INVALID | нет |
См. Обработка ошибок для работы с ошибками.