如何将十六进制数字的字符串转换为Lua中代表的值

前端之家收集整理的这篇文章主要介绍了如何将十六进制数字的字符串转换为Lua中代表的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我读了很多十六进制数据。他们作为字符串进入,我解析它们的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”是相同数字的字符串表示。

猜你在找的Lua相关文章