gpt4 book ai didi

string - 在 Lua 中将字符串写入二进制

转载 作者:行者123 更新时间:2023-12-04 02:42:04 25 4
gpt4 key购买 nike

我在 Lua 中将字符串写入二进制文件时遇到问题。有一个现有示例,我尝试修改它。看一看:

function StringToBinary()
local file = io.open("file.bin", "wb")
local t = {}
local u = {}
local str = "Hello World"
file:write("string len = " ..#str ..'\n')
math.randomseed(os.time())
for i=1, #str do
t[i] = string.byte(str[i])
file:write(t[i].." ");
end
file:write("\n")
for i=1, #str do
u[i] = math.random(0,255)
file:write(u[i].." ");
end
file:write("\n"..string.char(unpack(t)))
file:write("\n"..string.char(unpack(u)))
file:close()
end

file:write(t[i].."")file:write(u[i].."") 用整数值写入两个表.然而,在我的最后两篇文章中:unpack(t) 显示原始文本,而 unpack(u) 显示二进制文件。

可能是 string.byte(str[i]) 弄错了。我应该用什么来代替它?我错过了什么吗?

最佳答案

t[i] =  string.byte(str[i])

错了,应该是:

t[i] =  string.byte(str, i)

关于string - 在 Lua 中将字符串写入二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19698504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com