python学习(5)字符串和编码
来源:互联网 发布:猪八戒 知乎 编辑:程序博客网 时间:2024/06/01 23:40
一、编码的历史
第一种,ASCII码,最初只有127个字符被编码到计算机里,包含数字,字母,一些字符,占一个字节
第二种,GB2312码,把中文编进去,占两个字节。别的国家还有其他编码。
你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS
里,韩国把韩文编到Euc-kr
里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。
第三种,Unicode编码,把所有的语言都统一编码,一般两个字节表示一个字符,特别复杂的字符采用到4个字节
一个字母,ASCII编码一个字节,Unicode编码2个字节,这样占用存储空间
第四种,Utf-8编码,可变长的,通常一个字母编码一个字节,一个中文3个字节,只有很生僻的字符才4-6字节。其实ASCII编码是Utf-8的一部分
所以在计算机内存中统一使用Unicode编码,需要保存到硬盘或者需要传输的时候,就转换为Utf-8编码
二、python的字符串
在py3中使用unicode编码
1、单个字符的编码
ord('A') //65
ord('中') //20013
chr(66) //'B'
chr(25991) //'文'
'\u4e2d\u6587' //‘中文’
2、py字符串保存在unicode表示,一个字符对应若干个字符,如果要在网络上传输,欧洲保存在磁盘上,就需要把str变成字节为单位的bytes
bytes类型的数据将用b前缀表示,无法表示为ASCII字符的字节,使用\x##表示
unicode---bytes
‘ABC’.encode('ascii') //b‘ABC'
'中文'.encode('utf-8') //b'\xe4\xb8\xad\x96\x87'
但是中文字符不能ascii编码方式,转换成bytes
3、len()计算字符个数
4、文件编码方式
#!/usr/bin/env python3# -*- coding: utf-8 -*-
5、格式化,使用%实现 ,%%表示输出%
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
‘age:%d’ %23 //age:23
- python学习(5)字符串和编码
- Python学习 字符串和编码
- python学习(2)python基础、字符串和编码
- Python学习笔记,5,字符串和编码问题
- python学习笔记-字符串和编码
- Python学习笔记 - 字符串和编码
- Python学习笔记—字符串和编码
- python学习——字符串和编码
- 【Python学习笔记】字符串和编码
- python 字符串和编码
- python字符串和编码
- Python 字符串和编码
- Python 字符串和编码
- Python 字符串和编码
- Python字符串和编码
- Python字符串和编码
- python 字符串和编码
- python字符串和编码
- Blob_Tracking_Modules Opencv
- onWindowFocusChanged重要作用
- UVALive 6908 广搜
- BZOJ 4385 单调队列
- 爱情之路(二维spfa)
- python学习(5)字符串和编码
- HTTP协议详解(真的很牛逼)
- 【软件项目管理】资源平衡最好用于非关键路径活动
- __MACOSX
- 进程间通信机制(管道、信号、共享内存/信号量/消息队列)、线程间通信机制(互斥锁、条件变量、posix匿名信号量)
- 坚持#第74天~不要赖床!
- 牛客网编程题1
- Linux环境下ffmpeg的配置步骤以及简单的使用命令
- 面向对象_局部内部类访问局部变量的问题