美文网首页
Lua 读取二进制文件并转化为十六进制

Lua 读取二进制文件并转化为十六进制

作者: BADTZMARU_ye | 来源:发表于2017-11-29 19:58 被阅读0次

最近在写 Lua 脚本,需要读取二进制文件并转化为十六进制的字符串,C语言读文件,返回的是字符串类型,Lua 返回的也是字符串类型(用的时候忘记去查类型了,导致这个地方浪费了很长的时间。。。),由于找解决方法找了蛮长时间的,所有在这里先记录一下。

local function readAll(filePath)

--

local f = assert(io.open(filePath, "rb"))

local content = f:read("*all")

f:close()

return content

end

local function bytesToHexStr(filePath)

--

local content = readAll(filePath)

local result = ""

local len = string.len(content)

for i = 1, len do

local charcode = tonumber(string.byte(content, i, i));

local hexstr = string.format("%02X", charcode);

result = result .. hexstr

end

return result

end

有一个小问题,顺便记录一下,在读取了二进制文件后,本想用print打印看看内容有没有被读出来,结果只打印了一部分,用 notepad++ 打开发现,文件有很多 NUL 的字符,原因是 print 在遇到 NUL 就结束打印了,囧o(╯□╰)o

十六进制转二进制可以参考这个:Lua小程序:十六进制字符串和二进制数据间的转换

相关文章

  • Lua 读取二进制文件并转化为十六进制

    最近在写 Lua 脚本,需要读取二进制文件并转化为十六进制的字符串,C语言读文件,返回的是字符串类型,Lua 返回...

  • C#二、十、十六进制相互转换

    1、十进制int转化为二进制字string 2、二进制字string转化为十进制int 3、十六进制int转化为二...

  • Blob

    二进制文件下载 二进制文件读取

  • 0808 - lite 添加 pbc

    lite 的 mac、ios、android都添加了pbc。 lua 读取二进制文件需要修复一下,缝缝补补又一处。...

  • 02-Python基本数据类型

    一、进制: 硬盘:二进制存储 读取:由二进制对应编码的汉字十六进制 用户所见转换完成的字符串以十六进制展示 二、基...

  • node基本模块之fs

    异步方式 读取文本文件 读取二进制文件

  • python .dcm文件读取,并转化为.jpg格式

    .dcm文件是DICOM(Digital Imaging and Communications in Medici...

  • Lua 文件读取

    --移除文件 function Mkidr.removeFile(path) io.writefil...

  • Python IO 流

    转载请注明出处 读文件 读取整个文件 分段读取 按行读取代码 按行读取 二进制读取 写文件 文本写出 追加文件 二...

  • Lua C API

    C API 云风Blog:Lua C API 的正确用法 C读取和调用Lua文件的库:lua.h, lauxlib...

网友评论

      本文标题:Lua 读取二进制文件并转化为十六进制

      本文链接:https://www.haomeiwen.com/subject/xpmpbxtx.html