Python 中的字符编码
简介
Python 在数据科学和机器学习等技术的数据处理领域占据了显著的位置。在 21 世纪,处理海量数据对组织来说是一项极具挑战性的任务,而数据科学和机器学习的发展使得数据访问变得更加容易。
在 Python 语言中,使用 Unicode,并表示为 UTF(通用字符集传输格式)-8。对于字符的编码,主要有两种可能性:ASCII 字符和非 ASCII 字符。例如,我们取三个字符:
C = 67
D = 68
E = 69
D |
68 |
1000100 |
---|---|---|
字符 |
数字 |
二进制数 |
字符编码方法
有多种编码技术可用,其中 UTF-8 是 Python 语言中使用的编码技术。
UTF 使用一个字节来表示 ASCII 字符。
另一方面,非 ASCII 字符根据其使用情况占用两个或更多字节。
由于当前技术使用 Python 3,因此它在编码过程中使用字节和字符串。
但在 Python 2 中,使用编码将字节数组转换为字符串 'str'。
字符编码是通过将给定的字符字符串转换为字节来完成的,而解码过程则涉及将字节转换为字符串。
方法
方法 1 - 使用 ASCII 模块
方法 2 - 使用 hex() 方法
方法 1:使用 binascii 模块进行字符编码的 Python 程序
使用 binascii() 方法,在“data”上调用 encode() 方法并使用“UTF-8”编码技术将给定的字符串转换为编码的二进制格式。
算法
步骤 1 - 导入 binascii 模块以使用 binascii.hexlify() 函数。
步骤 2 - 使用字符串元素初始化变量。
步骤 3 - 使用 type() 函数获取已定义变量的数据类型,在本例中为字符串变量。
步骤 4 - 然后将结果代码存储在变量“encoding”中。
步骤 5 - print 语句将返回字符串的类型和编码数据。
示例
#importing the binascii module import binascii #initializing the data with a string of elements data = "Welcome to Tutorialpoint" #returns the type of data initialized print(type(data)) #convert the string into its equivalent binary format encoding = binascii.hexlify(data.encode('utf-8')) #returns the data after encoding the data print("Data after encoding is:", encoding)
输出
<class 'str'> Data after encoding is: b'57656c636f6d6520746f205475746f7269616c706f696e74'
方法 2:使用 hex() 方法进行字符编码的 Python 程序
使用 hex() 方法,在“data”上调用 encode() 方法并使用“UTF-8”编码技术将给定的字符串转换为编码的十六进制格式。
算法
步骤 1 - 使用字符串元素初始化变量。
步骤 2 - 使用 type() 函数获取已定义变量的数据类型,在本例中为字符串变量。
步骤 3 - 然后将结果代码分配给变量“encoding”。
步骤 4 - 最后,显示 encoding 变量的值。
示例
#initializing the data with a string of elements data = "Welcome to Tutorialpoint" #returns the type of data initialized print(type(data)) #convert the string into its equivalent hexadecimal format encoding = data.encode('utf-8').hex() #returns the data after encoding the data print("Data after encoding is:", encoding)
输出
<class 'str'> Data after encoding is: 57656c636f6d6520746f205475746f7269616c706f696e74
结论
作为程序员,应在 Python 中对字符进行编码以确保安全。字符串的字符被编码,用于系统和其他电子设备。当数据从一个源传输到另一个源时,需要对数据或字符进行编码。字符串由 Unicode 对象组成,用于编码,可用于全球范围内。当 Unicode 被设计并可以在不同的操作系统和应用程序平台上访问时。