在Python编程语言中,字节就像一个数组。当我们想要表示一组字节值时,我们可以考虑bytes()
数据类型。bytes 数据类型只允许从 0 到 255 的值。这hex()
是 python 中的内置函数之一。它将指定的整数转换为相应的十六进制值。它以“0x”为前缀。它返回一个十六进制字符串。
在本教程中,我们将学习如何使用hex()
方法和binascii
模块将字节转换为十六进制值。
众所周知,如何将任何整数或字符串转换为字节对象。让我们从将字符串转换为字节对象开始。转换后的字符串,即 bytes 对象可用于转换十六进制值。
string="March"
print("String to be converted :",string)
byte_data=bytes(string,"utf-16")
print("This is the bytes object.")
print("Converted string is:",byte_data)
要转换的字符串:March 这是字节对象。 转换后的字符串为:b'\xff\xfeM\x00a\x00r\x00c\x00h\x00'
在上面的示例中,我们将字符串转换为字节对象。我们可以使用该字节对象将其转换为十六进制值。
byte_data="\xff\xfeM\x00a\x00r\x00c\x00h\x00".encode("utf-16")
print("byte to be converted:",byte_data)
print("byte converted to hexadecimal value:",byte_data.hex())
print("Type of this object is:",type(byte_data.hex()))
要转换的字节:b'\xff\xfe\xff\x00\xfe\x00M\x00\x00\x00a\x00\x00\x00r\x00\x00\x00c\x00\x00\x00h\x00\x00\x00' 字节转换为十六进制值:ffffeff00fe004d00000061000000720000006300000068000000 这个对象的类型是:
binascii 模块由各种方法组成,这些方法将二进制转换为各种编码的二进制表示。在 binascii 模块中,有一个名为 hexlify() 的方法可以将字节转换为十六进制值。
import binascii
string="studytonight"
print("the string is:", string)
in_bytes=bytes(string,"utf-8")
print("string to byte:",in_bytes)
hex_bytes = binascii.hexlify(in_bytes)
print("hexlify converts the data to hexdecimal value :",hex_bytes)
hex_str = hex_bytes.decode("ascii")
print("This is the converted hex value:",hex_str)
# To convert hex to bytes
y=binascii.unhexlify(hex_str)
# unhexlify converts hex value to bytes.
print(y)
字符串是: studytonight 字符串到字节: b'studytonight' hexlify 将数据 转换为十六进制值: b'7374756479746f6e69676874 '这是转换后的十六进制值: 7374756479746f6e69676874 b's
在本教程中,我们学习了如何从 hex() 函数和 binascii 模块将字节对象转换为十六进制值。