AI技术百科
tianjing2020
2021-12-26 09:37:41
2.21、Python str和bytes的转换
在 Python 3 中同时支持 str 类型和 bytes 两种类型,它们之间是可以相互转换的。如从 str 转换成 bytes,可以使用 encode() 成员函数。
>>> a = "abc" >>> a'abc' >>> b = a.encode("utf-8") >>> type(b)<class 'bytes'>
下面的代码说明了带有中文的 str 类型是如何转换成 bytes 类型的。
>>> a = "最爱中国" # str类型 >>> len(a) # 长度为4,4个字符 4 >>> type(a) # 类型<class 'str'> >>> b = a.encode("utf-8") # 将其转换成str类型,方式是utf-8 >>> type(b)<class 'bytes'> >>> len(b) # 字节个数为12,每个中文在utf-8中用3个字节表示 12 >>> b # 各个字节的内容 b'\xe6\x9c\x80\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd'
从 bytes 类型转换成 str 类型可以使用成员函数 decode(),下面的代码说明了普通的拉丁字母是如何进行转换的。
>>> b = b"abc" >>> type(b)<class 'bytes'> >>> len(b) 3 >>> a = b.decode("utf-8") >>> type(a)<class 'str'> >>> len(a) 3 >>> a'abc'
下面的代码说明了成员函数 decode() 如何将 bytes 类型转换成含中文字符的 str 类型。
>>> b = b'\xe6\x9c\x80\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd' >>> len(b) # 字节个数 12 >>> type(b) < class 'bytes'> >>> b b'\xe6\x9c\x80\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd' >>> a = b.decode("utf-8") # 按照utf-8的格式进行解码,每3个字节表示一个中文字符 >>> type(a)<class 'str'> >>> len(a) # 字符个素 4 >>> a'最爱中国'
26
条内容
Python基本数据类型一共26个章节
本章将介绍 Python 内置的基本数据类型,包括整型、浮点数、字符串、布尔型、列表、元组、集合和字典等 Python 定义的基本数据类型,以及这些数据类型的运算操作。
我们知道,Python 是强类型语言,每个变量在某个时刻的类型是确定的。也就是说,Python 中任意一个存活的对象,其类型是唯一的。不同类型的对象有不同的属性,能完成不同的操作。
另外本章最后还会介绍变量、对象等概念。每个对象都有一个确定的类型,每个变量都指向某个特定的对象。
本章将介绍 Python 内置的基本数据类型,包括整型、浮点数、字符串、布尔型、列表、元组、集合和字典等 Python 定义的基本数据类型,以及这些数据类型的运算操作。
我们知道,Python 是强类型语言,每个变量在某个时刻的类型是确定的。也就是说,Python 中任意一个存活的对象,其类型是唯一的。不同类型的对象有不同的属性,能完成不同的操作。
另外本章最后还会介绍变量、对象等概念。每个对象都有一个确定的类型,每个变量都指向某个特定的对象。