【发布时间】:2014-03-19 17:20:23
【问题描述】:
我想将一个十六进制字符串(例如:0xAD4)转换为十六进制数字,然后将 0x200 添加到该数字,并再次以 0x 的形式将该数字打印为字符串。
我尝试了第一步:
str(int(str(item[1][:-2]),16))
但是要打印的值是十进制字符串而不是十六进制格式的字符串(0x 格式)(我想以0x 的形式打印最终结果)
-
[:-2]删除该数字的最后一个 00 -
item[1]包含0x形式的十六进制数字
【问题讨论】:
-
Python 中没有十六进制数。只有数字。所以你想将一个十六进制字符串转换为一个数字,而不是一个十六进制数字,然后你想将一个数字打印为十六进制。
-
@SteveJessop 你的评论是答案,两个答案都是评论:)
-
@GrijeshChauhan:不,这不是答案。这个问题包含一个误解,但在纠正了这个误解之后,问题仍然存在,我的评论没有回答它。答案确实如此。
-
@SteveJessop 是的,但我认为应该在回答中解释的重点是十六进制只是表示所有数字以相同的方式存储(你说)因此
2772和0XAD4。所以如果i = 0XAD4那么print i将输出2772而不是ad4OP 需要使用%x。
标签: python string python-2.7 hex