20170729Python03_字符串
2017-07-29 22:40
148 查看
Lesson003_字符串:
1:计算机最开始的设计是只有英语和各种标点符号,即ASCII码,计算机里面不能存储其他国家的文字,后来最开始出问题的是日文,因此就开始设计多种语言版本的。2:世界标准组织除了一套标准:UNICODE,将所有国家的文字集中在一起了,把所有文字存储在UNICODE表里面,UNICODE可以存储65535个字符。
3:UNICODE每一个字符所占的空间比较大,会导致网络传输的时候需要的资源比较多。后来在UNICODE之上,出现了UTF编码,
他的长度是可变的,有UTF-8,UTF-16,UTF-32
4:UTF编码好处在于传输效率高,但是缺点在于解析比较麻烦,因此,目前本机使用都是UNICODE编码,传输的时候会转换成UTF编码,接收后又转换成UNICODE编码。
5:在Python里面,可以使用ord和chr来查看字符对应的ASCII数值和数值对应的字符:
>>> ord('a') 97 >>> ord('A') 65 >>> chr(98) 'b' >>> chr(66) 'B' >>> chr(77)+chr(97)#字符串连接 'Ma' >>> ord("蒲") 33970 >>> ord("公") 20844 >>> ord("英") 33521
6:Python3默认是使用的UNICODE编码的,记事本等默认都是ANSI编码的,如果我们需要在Python里面使用ANSI编码,可以这样做:
>>> name = "蒲公英" >>> name.encode('ANSI') b'\xc6\xd1\xb9\xab\xd3\xa2' >>> name = 'abc' >>> name.encode("ascii") b'abc' >>> name.encode("ANSI") b'abc'
注意,b代表byte。也可以直接使用byte的字符串,例如:
>>> name = b'aaabbbcccddd' >>> name b'aaabbbcccddd'
7:将string转换成byte用的encode,也可以将byte转化为字符串,使用decode。
>>> name = '蒲' >>> name.encode('utf-8') b'\xe8\x92\xb2' >>> cname = b'\xe8\x92\xb2' >>> cname.decode('utf-8') '蒲' >>> name.encode('utf-16') b'\xff\xfe\xb2\x84' >>> cname = b'\xff\xfe\xb2\x84' >>> cname.decode('utf-16') '蒲'
8:len()函数可以统计字符数,
>>> name = '16794641698789468489' >>> len(name) 20 >>> name = '艺术' >>> len(name) 2 >>> name = b'1234567890' >>> len(name) 10 >>> name = '试试' >>> name.encode()#默认为utf-8 b'\xe8\xaf\x95\xe8\xaf\x95' >>> name = b'\xe8\xaf\x95\xe8\xaf\x95' >>> len(name)#这里是按字符数显示的。 6
9:数据类型里面,bool类型用于判断
相关文章推荐
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 20170729Python03_字符串
- 一天一点python03(数字和字符串1)
- 人工智能之Python03 数字(Number)与字符串(str)
- 【Python自学】03.字符串和编码(上)
- Python 03:Python字符串
- Python轻松入门-03字符串介绍
- 学python(03)—— 如何使用函数实现一个随机字符串里的大小写字符互换
- Python学习_03_列表、元组、字符串
- [Python 03] 字符串
- Python源码剖析(03 Python中的字符串对象)
- Python基础:03序列:字符串、列表和元组
- Python对象的文档字符串(DocString):__doc__的写法和输出方法
- Python中用format函数格式化字符串的用法