Кодирование Base 64
Код Base 64 используется в электронной почте для кодирования последовательности 8-битных байтов в более длинную последовательность графических символов ASCII. Он определён в Internet RFC2045, а также в RFC 4648. В этом разделе описаны функции преобразования в этот код и обратно.
- Команда: base64-encode-region beg end &optional no-line-break
-
Эта функция преобразует область от beg до end в код Base 64. Она возвращает длину закодированного текста. Если символ в области многобайтовый, возникает ошибка: в многобайтовом буфере область должна содержать только символы ASCII или необработанные байты.
Обычно эта функция вставляет в закодированный текст символы новой строки, чтобы избежать слишком длинных строк. Однако, если необязательный аргумент no-line-break не равен
nil, эти символы новой строки не добавляются, поэтому результат представляет собой одну длинную строку.
- Команда: base64url-encode-region beg end &optional no-pad
-
Эта функция аналогична
base64-encode-region, но реализует вариант кодирования Base 64 для URL согласно RFC 4648 и не вставляет символы новой строки в закодированный текст, поэтому результат представляет собой одну длинную строку.Если необязательный аргумент no-pad не равен
nil, функция не добавляет символы заполнения (=).
- Функция: base64-encode-string string &optional no-line-break
-
Эта функция преобразует строку string в код Base 64. Она возвращает строку с закодированным текстом. Как и в случае с
base64-encode-region, если символ в строке многобайтовый, возникает ошибка.Обычно эта функция вставляет в закодированный текст символы новой строки, чтобы избежать слишком длинных строк. Однако, если необязательный аргумент no-line-break не равен
nil, эти символы новой строки не добавляются, поэтому результирующая строка представляет собой одну длинную строку.
- Функция: base64url-encode-string string &optional no-pad
-
Аналогична
base64-encode-string, но генерирует вариант Base 64 для URL и не вставляет символы новой строки в закодированный текст, поэтому результат представляет собой одну длинную строку.Если необязательный аргумент no-pad не равен
nil, эта функция не добавляет символы заполнения.
- Команда: base64-decode-region beg end &optional base64url ignore-invalid
-
Эта функция преобразует область от beg до end из кода Base 64 в соответствующий декодированный текст. Она возвращает длину декодированного текста.
Функции декодирования игнорируют символы новой строки в закодированном тексте.
Если необязательный аргумент base64url не равен
nil, заполнение не требуется и используется вариант кодирования Base 64 для URL. Если необязательный аргумент ignore-invalid не равенnil, любые нераспознанные символы игнорируются.
- Функция: base64-decode-string string &optional base64url ignore-invalid
-
Эта функция преобразует строку string из кода Base 64 в соответствующий декодированный текст. Она возвращает однобайтовую строку, содержащую декодированный текст.
Функции декодирования игнорируют символы новой строки в закодированном тексте.
Если необязательный аргумент base64url не равен
nil, заполнение не требуется и используется вариант кодирования Base 64 для URL. Если необязательный аргумент ignore-invalid не равенnil, любые нераспознанные символы игнорируются.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Base-64.html