我正在阅读很多十六进制数据行.它们以字符串形式出现,我将它们解析为line_codes,告诉我如何处理其余数据.一行设置地址的最重要字(MSW),另一行设置最低有效字(LSW).
然后我需要将它们连接在一起,这样如果MSW ="00ff"并且LSW ="f10a"地址将是00fff10a.
这一切都很好,但后来我应该检查地址是否在某组值之间:
if address <= "007FFFh" and address >= "000200h" then
print "I'm in"
end
Run Code Online (Sandbox Code Playgroud)
大家都知道,Lua并不喜欢这个,因为它使用<=和>=使用字符串时会出错.
如果有一种方法我可以将字符串转换为十六进制,这样"FFFF"将变为0xFFFF?
Nic*_*las 31
你用tonumber:
local someHexString = "03FFACB"
local someNumber = tonumber(someHexString, 16)
Run Code Online (Sandbox Code Playgroud)
请注意,数字不是十六进制.它们也不是十进制,八进制或其他任何东西.他们只是数字.数字0xFF与255的数字相同."FF"和"255"是相同数字的字符串表示.