Python 学习 小记1(字符串+编码)
1、Python是高级语言,代码少,但运行效率相对慢(解释型)
2、Python适合开发:网站、后台服务、脚本任务小工具等等
3、代码不能加密,只能发布源码
4、说明:r''中的内容不转义
print(r'\\\\\\\\\\n') 输出:\\\\\\\\\\n
5、由于一行中有多个\n不好阅读 可以用 '''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'\xe4\xb8\xad\xe6\x96\x87') -->6 表示字节长度 *注意:b'xx' xx内容只能为ascii字符 因此如果是中文的话要编码 ---->因此len(xx)是获取xx数据所属类型的单位数 也就是xx有几个该数据类型单位