python str bytes unicode utf-8 学习

来源:互联网 发布:淘宝注册流程图 编辑:程序博客网 时间:2024/06/04 19:31

*字符串编码:

字符串,最初编码形式是ascii,用8位二进制表示。但ascii编码少,出现将所有字符编码的unicode,unicode编码对所有语言使用两个字节,部分汉语使用三个字节。但是unicode不兼容ascii,所以出现utf-8编码,utf-8编码对英文使用一个字节的编码。

*字节码bytes:

python3中bytes用b‘xxx’表示,其中的x可以用字符,也可以用ascii表示。python3中的二进制文件(如文本文件)统一采用字节码读写。

**字节和字符串关系:

二进制的bytes进行适当编码就可以变为字符了,比如utf-8或是gbk等等编码格式都可以。

str类型转化为bytes类型,使用encode()编码。bytes类型转化为str类型,使用decode()解码。

*代码:

def to_str(bytes_or_str):  if isinstance(bytes_or_str, bytes):    value = bytes_or_str.decode('utf-8')  else:    value = bytes_or_str  return value # Instance of str
这样的代码,使得无论输入bytes还是str,都是输出str编码。

由此,我们可以看到,utf-8是一种编码规则,bytes和str是两种代码类型,通过utf-8可以互相转换。

参考:http://blog.csdn.net/Setul/article/details/52203894


0 0
原创粉丝点击