Python中的编码方式

本文详细介绍了Python中的编码方式,包括Unicode与str之间的转换、各种编码标准如ASCII、GBK、UTF-8等。强调了Python 2.x和3.x中字符串处理的区别,以及在编码、解码过程中的注意事项。此外,还探讨了正则表达式在处理多字节字符时的特殊性,以及在Unicode模式下如何正确匹配中文字符。
摘要由CSDN通过智能技术生成

Python中的编码方式

概述

python中:编码:unicode-->str   解码:str-->Unicode

 

在python中,编码函数是encode(),解码函数是decode()。

 

【需要注意的一点是,如果我们调用str.encode(),这里涉及到一个隐士的类型转化,会现将str转化成unicode,才能进行编码,这也是不太容易理解的地方。所以,str.encode()实际上就等价于str.decode(sys.defaultencoding).encode().而sys.defaultencoding一般是ascii,它是不能用来编码中文字符的。】

 

各种编码方式

Python中,不论是Python 2.x还是Python 3.x中,总体上说,字符都只有2大类:

一类是通用的Unicode字符;另一类是,(unicode被编码后的),某种编码类型的字符,比如UTF-8GBK等等类型的字符】

 

 

ASCII(American Standard Code forInformation Interchange),是单字节编码,一个字节等于8位二进制数,所以单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下)。

 

MBCS(Multi-Byte Character Set) ,这一类编码有很多种,其中就有GBK:为了表示其他语言的字符,采用双字节编码,并且兼容ASCII,采用的方式是:如果第一个字节是\x80以下,则仍然表示ASCII字符;而如果是\x80以上,则跟下一个字节一起(共两个字节)表示一个字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值