Python基础知识之字符编码和转码
来源:互联网 发布:淘宝结算页面打不开 编辑:程序博客网 时间:2024/05/21 13:29
字符编码
python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII)
ASCII码
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),ASCII码最多只能表示255个字符。
中文的处理
GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。
基本集共收入汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。
把换算成十六进制的区位码加上2020H,就得到国标码。国标码加上8080H,就得到常用的计算机机内码。1995年又颁布了《汉字编码扩展规范》(GBK)。GBK与GB 2312—1980国家标准所对应的内码标准兼容,同时在字汇一级支持ISO/IEC10646—1和GB 13000—1的全部中、日、韩(CJK)汉字,共计20902字。
Unicode的出现
统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
UTF-8编码格式
utf-8编码格式规定中文统一占三个字节。
如何获取当前系统的默认代码格式?
import sysprint(sys.getdefaultencoding())
字符转码
在Python3 中默认所有的字符都是Unicode,因此只需要encode不需要decode成Unicode了
- 如果将字符串转换成gbk编码的话:
s = "unicode字符串"
s_gbk = s.encode("gbk") 如果将字符串转换成utf-8编码的话:
s_utf8 = s.encode("utf-8")
如果将gbk格式的字符串转换为utf-8格式的话,需要先将gbk格式转换为Unicode格式再将Unicode转换为utf-8格式的编码:
gbk_to_utf8 = s_gbk.decode("gbk").encode("utf-8")
需要注意的是,encode
之后的字符串会默认转换为bytes
类型。
- Python基础知识之字符编码和转码
- python之字符编码
- Python 和字符编码
- python 学习之路(字符编码与转码)
- python之字符编码解码
- Python学习之字符编码
- 深入浅出Python字符与编码--转自Python之禅
- Python中字符编码与转码
- Python之基础知识(4. 字符操作)
- 字符编码的基础知识
- 字符编码基础知识
- 基础知识总结:字符编码
- (转)Python字符编码详解
- python学习笔记之字符编码
- 关于字符的编码和转码
- 中文字符集 字符编码 基础知识
- 字符编码、字符集基础知识一览
- python 编码笔记,字符编码和读取文件
- 一步步搭建Retrofit+RxJava+MVP网络请求框架(一)
- Mac下 AndroidStudio 配置javah 命令
- (转)相对路径和绝对路径的区别,java获取项目访问路径的方法
- 中断
- 专注于收银管理软件和工厂自动化控制系统(CMS,综合赋码系统)开发
- Python基础知识之字符编码和转码
- Go1.10在编译成dll小实例
- 操作系统 3. 线程基本概念; 线程于进程的比较; 用户线程与内核线程; 线程模型
- 共享内存和信号量(灯)结合
- 引用类型和值类型,以及引用传递和值传递
- STM32-IIC
- AVPacket,是压缩数据的结构体(解码前或编码后的结构体)。
- Python基础知识之文件读写与修改
- 对于stm32单片机的