WinYourmind
-
Публикации
2 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем WinYourmind
-
-
Здравствуйте, есть такая задачка, кто-то сможет помочь? В файле содержатся целые числа в десятичном виде. Преобразовать каждое число в двоичную форму. Выполнить шифрование данных таким образом, чтобы каждые восемь двоичных символов превращались в букву латинского алфавита. Таблица соответствия кодов буквам содержится во втором файле. Предусмотреть функцию для выполнения дешифрования.
function tobin(num) local tmp = {} repeat tmp[#tmp+1]=num%2 num = math.floor(num/2) until num==0 return table.concat(tmp):reverse() end local function main() io.input("number.txt") while true do local val = io.read("*number") if val == nil then break end local n = {} n = tobin(val) print(tostring(n)) end local a = {} io.input("shfr.txt") while true do local line = io.read("*line") if line == nil then break end x,y = string.match(line,"([01]+) (%a)") a[x]=y end -- отладочный вывод for k,v in pairs(a) do print("["..k.."]="..v) end io.close() end main()вот что получилось, есть ли какие-то встроенные функции для сравнения чисел n и ключа таблицы, и замены v на значения ключа таблицы?

Lua шифрование
в Разные (отсортировать)
Опубликовано: · Изменено пользователем WinYourmind
да так только, вот n хранит у меня несколько двоичных чисел, и дальше мне нужно сравнить их с ключом таблицы, и если они равны то изменить n на значения ключа
{
[10110111] = A
........
}
local val = io.read("*number") if val == nil then break end local n = {} n = tobin(val) print(tostring(n)) end