使用Lua io.read('*a')从图像文件获取所有数据的问题

Sha*_*sby 2 file-io lua jpeg

我试图从图像文件(jpg/jpeg/gif/png/bmp等)获取所有数据使用Lua的io.read()函数,但我没有太多运气,因为它似乎只是读了一个小的一块数据.

作为旁注,所有纯文本文件都被正确读取,所以我假设问题是字符编码或某些这样的事情.

例:

local data
local fileHandle

fileHandle = io.open ( 'pic.jpg')
data = fileHandle:read('*a')

print(data)
Run Code Online (Sandbox Code Playgroud)

Ale*_*ysh 7

如果你在Windows上,打开文件为二进制文件:io.open('pic.jpg', 'rb').

此外,它是包装一个好主意,io.open()assert()捕捉错误(或者说以其他方式处理,当然他们).