Python 学习 小记1(字符串+编码)

1、Python是高级语言,代码少,但运行效率相对慢(解释型)

2、Python适合开发:网站、后台服务、脚本任务小工具等等

3、代码不能加密,只能发布源码

4、说明:r''中的内容不转义

print(r'\\\\\n')  输出:\\\\\n

5、由于一行中有多个 不好阅读  可以用 '''content'''的格式标识多行

print('''hello
sb
bs''')
输出:
hello
sb
bs

6、python对整数大小没有限制  对浮点数也没有限制 不过超过一定大小会直接表示为inf

7、字符串和编码:

字符编码

编码名称     ascii     --->     gb2312(等等)     --->     unicode     --->     UTF-8

字节数       一个字节           至少两字节                  通常2字节             可变长字节编码
语言      英文(共编了127字符)    中文编码                 所有语言都编在里面了     英文1字节、中文3字节等
范围         0-255             至少65535                 通常65536            
特点         只限英文           只限中文                 全语言,但英文浪费空间   英文1字节,中文3字节。可变长


编码转换机制
计算机内存中:    统一使用unicode编码
存硬盘/传输时:    转换为utf-8编码
字符串转码

str 和 bytes 互转的问题

'abc'字符串类型  b'abc'表示字节流类型
str编码为bytes:'abc'.encode('utf-8')      #转不成会报错(比如汉字转为ascii因为不够长所以报错)
bytes解码为str:b'abc'.decode('utf-8')     #同上(一般编解码都是用utf-8防止混淆出错)

    字符串                      字节流 0、str在内存中以Unicode表示 传输/或存盘时将str 转为 bytes(其实就是因为传输/存储字节流) 1、str以字符为单位(一个字符对应若干字节) bytes以字节为单位 2、len('中文') -->2 表示字符长度 len(b'xe4xb8xadxe6x96x87') -->6 表示字节长度 *注意:b'xx' xx内容只能为ascii字符 因此如果是中文的话要编码 ---->因此len(xx)是获取xx数据所属类型的单位数 也就是xx有几个该数据类型单位
原文地址:https://www.cnblogs.com/GetLastError/p/10681028.html