在 Python 中将字符串转换为十六进制

Manav Narula 2021年3月21日
在 Python 中将字符串转换为十六进制

十六进制值的底数为 16。在 Python 中,十六进制字符串的前缀为 0x

hex() 函数用于将十进制整数转换为其相应的十六进制数。例如,

a = 102
print(hex(a))

输出:

0x66

我们还可以使用带有 float() 函数的 hex() 函数将 float 值转换为十六进制。以下代码实现了这一点。

a = 102.18
print(float.hex(a))

输出:

0x1.98b851eb851ecp+6

我们无法使用此函数转换字符串。因此,如果遇到一种情况,我们有一个十六进制的字符串并想将其转换为十六进制的数字,我们将无法直接执行它。在这种情况下,我们必须使用 int() 函数将此字符串转换为所需的十进制值,然后使用前面讨论的 hex() 函数将该字符串转换为十六进制数。

以下代码显示了这一点。

hex_s = '0xEFA'
a = int(hex_s,16)
hex_n = hex(a)
print(hex_n)

输出:

0xefa

字符串中的字符没有任何对应的十六进制值。但是,如果使用 encode() 函数将字符串转换为字节类型的对象,则可以使用 hex() 函数将其转换为十六进制值。

例如,

s= 'Sample String'.encode('utf-8')
print(s.hex())

输出:

53616d706c6520537472696e67

在上面的代码中,我们将字符串编码为 utf-8 类型,并将其转换为字节类型。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python String

相关文章 - Python Hex