我读了很多十六进制数据。他们作为字符串进入,我解析它们的line_codes,告诉我如何处理其余的数据。一行设置地址(MSW)的最高有效字,另一行设置最低有效字(LSW)。
那么我需要把它们连在一起,如果MSW =“00ff”,而LSW =“f10a”
地址将为00fff10a。
这一切都很好,但是我应该检查地址是否在一组值之间:
if address <= "007FFFh" and address >= "000200h" then print "I'm in" end
大家可能知道,Lua不是这个的粉丝,因为它使用< =和> =与字符串给我一个错误。
如果有一种方式,我可以将字符串转换成十六进制,这样“FFFF”会变成0xFFFF?
解决方法
你使用tonumber:
local someHexString = "03FFACB" local someNumber = tonumber(someHexString,16)
请注意,数字不是十六进制数。它们也不是十进制,八进制或其他任何东西。他们只是数字。数字0xFF与255相同。“FF”和“255”是相同数字的字符串表示。