Перейти к содержанию
Материалы раздела

binascii.lua

Библиотека преобразует числа и массивы байтов в шестнадцатеричное представление и обратно.

local binascii = require("binascii")

hex(num, big)

Преобразует число в шестнадцатеричную строку.

Аргументы:

  • num — число;
  • big — если true, используются заглавные буквы, иначе — строчные.

Возвращает строку минимум из двух символов.

/ > binascii.hex(10, true)
0A
/ > binascii.hex(10, false)
0a
/ > binascii.hex(65535, true)
FFFF

hexlify(s, big)

Преобразует массив байтов в массив шестнадцатеричных строк.

Аргументы:

  • s — массив байтов;
  • big — если true, используются заглавные буквы, иначе — строчные.

Возвращает массив строк. Каждая строка содержит минимум два символа.

/ > t = binascii.hexlify({10, 20, 30}, true)
/ > print(t[1], t[2], t[3])
0A	14	1E

unhexlify(s)

Преобразует шестнадцатеричную строку в массив байтов.

Аргументы:

  • s — строка, в которой каждый байт записан двумя шестнадцатеричными символами.

Возвращает массив байтов или вызывает исключение при неверном формате строки.

t = binascii.unhexlify("0a0b0c0D")
/ > print(t[1], t[2], t[3], t[4])
10	11	12	13