软硬件开发技术笔记
保持专注,拒绝内耗
Python2和Python3的str/unicode/bytes整理
2021-12-06 23:12

Python2 两种表示字符序列的类型

str      : 原始的8 位值(默认)
unicode  : Unicode的实例包含Unicode字符

Python3 两种表示字符序列的类型

str    : Unicode 的实例包含 Unicode 字符 (默认)
bytes  : 原始的8 位值

Unicode是表现形式,utf-8 是存储形式,utf-8 虽然是使用最广泛的编码,但也仅仅是 Unicode 的一种存储形式罢了。

比如测试脚本test.py

#coding:utf-8

s="马"

print(s)
print(type(s))

s=u"马"

print(s)
print(type(s))
print(type(s.encode("utf-8")))

python2下执行

# python test.py 
马
<type 'str'>
马
<type 'unicode'>
<type 'str'>

python3下执行

马
<class 'str'>
马
<class 'str'>
<class 'bytes'>

相关参考:
https://blog.csdn.net/weixin_42232219/article/details/89369259
https://www.cnblogs.com/CheeseZH/p/12592892.html
https://blog.csdn.net/zhusongziye/article/details/84261211
https://www.cnblogs.com/tsingke/p/10853936.html

分类
mac
1篇
4篇
c
1篇
4篇
2篇
1篇
搜索