20170729Python03_字符串
来源:互联网 发布:c语言头文件stdio 编辑:程序博客网 时间:2024/06/07 15:37
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'>>> nameb'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-8b'\xe8\xaf\x95\xe8\xaf\x95'>>> name = b'\xe8\xaf\x95\xe8\xaf\x95'>>> len(name)#这里是按字符数显示的。6
9:数据类型里面,bool类型用于判断
阅读全文
1 0
- 20170729Python03_字符串
- Python03_高级特性
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- java实现二进制转十六进制
- 关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案
- 数据结构1:数组专题
- 问题 A: 龟兔赛跑预测
- React Native 环境搭建
- 20170729Python03_字符串
- 八个算法题
- kubernetes安全控制认证与授权(二)
- Java多线程系列3(线程同步)
- 个人对“同格”的看法
- 笔试1
- oracle 报无监听程序
- 操作系统课程实验报告(四)
- Android 记录和恢复ListView滚动的位置的两种方法