2
、こんにちは、お友達!私は作業しているライブラリにLua 5.1の互換性を追加しようとしていましたが、これはもともとLua 5.3に書かれています。今まではすべてがかなりうまくいっていました。Luaのバイナリファイルのすべてのバイトを読み取ることができません5.1
私は行動を見つけました。私は原因について全くの手がかりがありません。明らかに、私はLua 5.1上で正しくバイナリファイルを読むことができません。わかりやすくするために、このテストスニペットを実行すると、実行されたバージョンに応じて異なる出力が生成されます。 Luaの5.1を使用して
local f = io.open("test.bin", "wb")
local t = {}
for i=1, 256 do t[i] = i-1 end
local unpack = unpack or table.unpack
local str = string.char(unpack(t))
f:write(str)
f:close()
f = io.open("test.bin", "rb")
local buffer = {}
for line in f:lines() do
print(#line)
for i=1, #line do
buffer[#buffer+1] = string.byte(line:sub(i,i))
end
end
print('Total:', #buffer)
f:close()
:Luaの5.3を使用して
245
Total: 245
:
10
245
Total: 255
だから、私はそれを参照してください方法は、バージョン5.1は、単にファイルの最初の "行" をジャンプつまり何らかの理由で。
ご協力いただければ幸いです。
です。それは働いた、ありがとう:) –