字符编码在Python中
介绍
Python在处理数据方面具有卓越的地位,特别是在数据科学和机器学习等技术方面。在21世纪,处理数据是组织面临的最具挑战性的任务之一,而随着数据科学和机器学习的发展,访问数据变得更加容易。
在Python语言中,使用Unicode表示,并以UTF(通用编码字符集加传输格式)-8的形式进行表示。对于字符的编码,有两种主要可能性,一种是ASCII字符,另一种是非ASCII字符。例如,我们来看看三个字符,
C = 67
D = 68
E = 69
D | 68 | 1000100 |
---|---|---|
Character | Number | Binary Number |
字符编码方法
有各种不同的编码技术可用,其中UTF-8是Python语言中使用的编码技术。
- UTF使用一个字节来表示ASCII字符。
-
另一方面,非ASCII字符根据其使用方式需要两个或更多字节。
-
由于当前技术使用Python 3,它使用字节对字符串进行编码。
-
但在Python 2中,在将字节数组转换为字符串“str”之前,使用编码进行转换。
-
通过将给定字符串的字符转换为字节来对字符进行编码,然后解码过程涉及将字节转换为字符串。
方法
方法1-使用ASCII模块
方法2-使用hex()方法
方法1:使用binascii模块进行字符编码的Python程序
使用“UTF-8”编码技术对“data”调用encode()方法,将给定的字符串转换为编码的二进制格式,使用binascii()方法。
算法
- 步骤1 − 导入binascii模块以使用binascii.hexlify()函数。
-
步骤2 − 使用字符串元素初始化变量。
-
步骤3 − 使用type()函数获取定义的变量的数据类型,在本例中为字符串变量。
-
步骤4 − 然后将生成的代码存储在变量“编码”中。
-
步骤5 − 打印语句将返回字符串的类型和编码的数据。
例子
#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”使用“UTF-8”编码技术调用encode()方法。
算法
- 步骤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被设计用于不同操作系统和应用程序的平台上使用。