Я проверил несколько исходных кодов для записи двоичных файлов, и они используют ту же самую функцию io.write (), которую я выполняю.
Нет, они не делают.Они используют file:write
.Есть разницаОдин работает с данным дескриптором файла.Другой работает с «выходным файлом по умолчанию», который всегда открывается как текст .
Правильный код Lua для того, что вы хотите, это:
local file = assert(io.open(filepath, "rb"), "Could not open file for reading.")
local filecontent = file:read("*a")
file:close()
file = assert(io.open("temp.tmp", "wb"), "Could not open file for writing.")
file:write(filecontent)
file:close()