Python字节转换为字符串 - 如何将字符串转换为字节,以及反向转换
你可以在Python中使用字节来表示二进制形式的数据。在本文中,你将学习如何将字节转换为字符串,以及反之亦然。
在我们看转换之前,让我们谈谈Python中的字节是如何工作的。如果你已经理解了这一点,或者只是对转换感兴趣,你可以跳到下一节。
(本文视频讲解:java567.com)
Python中的字节是如何工作的
你可以通过在字符前加上 b 前缀来创建字节文字。这告诉Python解释器一组字符应该被视为字节。以下是一个示例:
byte_data = b'Hello'
在上面的代码中,我们在字符串值之前加上了 b:b'Hello'。如果你打印字符串中的字符,你将得到每个字符的二进制值。也就是说:
byte_data = b'Hello'
print(byte_data[0]) # 72
所以,返回的不是 "H",而是 72。如果你继续打印序列中每个索引的值,你应该得到它们的二进制值:
byte_data = b'Hello'
print(byte_data[0]) # 72 => H
print(byte_data[1]) # 101 => e
print(byte_data[2]) # 108 => l
print(byte_data[3]) # 108 => l
print(byte_data[4]) # 111 => 0
现在让我们谈谈如何将字符串转换为字节,以及如何将字节转换为字符串。
如何在Python中将字符串转换为字节
你可以使用 encode() 方法将字符串转换为字节。该方法简单地使用特定的编码(如UTF-8、ASCII等)对字符串进行编码。
以下是一个示例:
string_data = "Hello"
print(string_data[0]) # H
在上面的代码中,我们创建了一个名为 string_data 的字符串,值为 "Hello"。我们还打印了字符串的第一个字符,即 "H"。
现在让我们使用 encode() 方法将字符串转换为字节:
string_data = "Hello"
byte_data = string_data.encode('utf-8')
print(byte_data[0]) # 72
我们使用了 encode() 方法将 string_data 变量转换为字节,该方法接受 "utf-8" 作为参数。我们将此转换存储在 byte_data 变量中:byte_data = string_data.encode('utf-8')。
最后,我们打印了 byte_data 变量的第一个字符,并得到了一个二进制值:print(byte_data[0]) # 72。
如何在Python中将字节转换为字符串
你可以使用 decode() 方法将字节转换为字符串。它的工作原理与 encode() 方法相同:使用点符号将要转换的变量附加到变量,并将编码类型指定为方法的参数。
以下是一个示例:
byte_data = b'Hello'
string_data = byte_data.decode('utf-8')
print(string_data[0]) # H
在上面的代码中,我们创建了一个名为 byte_data 的字节对象。
使用 decode() 方法,我们将其转换为字符串并存储在 string_data 变量中:string_data = byte_data.decode('utf-8')。
当你打印 string_data 变量的字符时,你应该得到字符串字符而不是二进制值:print(string_data[0]) # H。
结论
在本文中,你学会了如何在Python中使用字节。你还学会了两种转换方法:
- 如何使用 encode() 方法将字符串转换为字节。
- 如何使用 decode() 方法将字节转换为字符串。
祝编码愉快!
(本文视频讲解:java567.com)