簡體   English   中英

如何將十六進制字符串轉換為十六進制數

[英]How to convert a hex string to hex number

我想將一個十六進制字符串(例如: 0xAD4 )轉換為十六進制數,然后將0x200添加到該數字上,並再次希望以0x形式將該數字打印為字符串。

我嘗試了第一步:

str(int(str(item[1][:-2]),16))

但是,這是獲得打印的值為小數字符串不是一個十六進制格式的字符串(在0X格式)(ⅰ要打印的最終結果的形式0x

  • [:-2]從該號碼中刪除最后一個 00
  • item[1]包含0x形式的十六進制數

嘗試這個:

hex_str = "0xAD4"
hex_int = int(hex_str, 16)
new_int = hex_int + 0x200
print hex(new_int)

如果您不喜歡0x ,請將最后一行替換為

print hex(new_int)[2:]

使用帶有第二個參數 16 的int函數將十六進制字符串轉換為整數。 最后,使用hex函數將其轉換回十六進制數。

print hex(int("0xAD4", 16) + int("0x200", 16)) # 0xcd4

相反,你可以直接做

print hex(int("0xAD4", 16) + 0x200) # 0xcd4

使用格式字符串

intNum = 123
print "0x%x"%(intNum)

hex函數。

intNum = 123
print hex(intNum)

暫無
暫無

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

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