将字符串表示的十六进制转换为实际十六进制
可能重复的问题:
如何在Python中解析十六进制或十进制整数
我在数据库里有一堆以字符串形式存储的十六进制颜色。
比如说:'0xFFFF00'
当我从数据库里取出这些字符串时,我需要把它们转换成真正的十六进制数字,也就是
0xFFFF00
我该怎么在Python中做到这一点呢?
3 个回答
0
这段代码的意思是:首先把一个十六进制的数字'0xFFFF00'转换成十进制的整数,然后再把这个整数转换回十六进制的形式。具体步骤是这样的:
1. int('0xFFFF00', 16)
:这里的int
是一个函数,它把字符串'0xFFFF00'当作一个十六进制的数字(因为后面有个16),转换成十进制的整数。十六进制是我们常用的数字系统之一,通常用来表示颜色等。
2. hex(...)
:这个hex
函数会把刚才得到的十进制整数再转换成十六进制的字符串形式,最后输出结果。
所以,整段代码的作用就是把一个十六进制的颜色值转换成十进制再转回十六进制,最后得到的结果是一个字符串,表示这个颜色的十六进制值。
0
这个也可以用
number = int('0xFFFF00',0)
print("%x follows %x" % (number+1, number))
这里的0参数告诉解释器按照Python的数字规则来决定使用什么样的数字格式,所以这个表达式对于所有数字都能正常工作。
5
这是一种方法:
>>> s = '0xFFFF00'
>>> i = int(s, 16)
>>> print i