簡體   English   中英

如何將十六進制數字的字符串轉換為它在Lua中表示的值

[英]How do I convert string of hex digits to value it represents in 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”是相同數字的字符串表示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM