字符编码和python .encode().decode()方法
字符编码与encode、decode的问题:
用8个开关表示世界万物
ASCII : American Standard Code for Information Interchange,美国信息互换标准代码,只用了前7位,127个状态
GB2312:是对ASCII的中文扩展(前127不变,大于127的+后边另一个大于127的表示中文)两个字节表示一个汉字
GBK:包括了GB2312 的所有内容,增加了近20000个新的汉字(包括繁体字)和符号
GB18030:加了几千个新的少数民族的字,GBK的扩展
以上的汉字编码标准叫做“DBCS“(Double Byte Character Set 双字节字符集)
Universal Multiple-Octet Coded Character Set”,简称 UCS, 俗称 “unicode“。unicode中“字节”表示8位的物理存储单元,“字符”表示文化符号,一个汉字是一个字符,占三个字节;
Unicode是一个字符集,UTF-8,UTF-16,UTF-32都是这个字符集上的编码方式。而ASCII,GBK等都是其它字符集,默认都只有一个对应的编码方式。
ASCII每个字符占一个byte也就是1个字节;utf-8每个字符占1-6个变长的字节;unicode根据编码的不同所占的字节数也是不同的。
byte(字节流)——>str: decode()方法;读取网页上的信息a=urllib.request.urlopen(url);a是一个“<class 'http.client.HTTPResponse'>”,a.read()读取网页上的内容,读取的内容是根据网页的编码方式比如(Content-Type: text/html; charset=utf-8)表示html页面是unicode字符集用utf-8的格式表示的bytes字节流,要是变成能看懂得就得用.decode()方法(decode在python3.5中默认是‘utf-8’),将bytes解码为str,这样就可以显示汉字了。
str——>byte:用str.encode()方法;以Unicode表示的str通过encode()方法编码为指定的bytes。
字符编码和python .encode().decode()方法的更多相关文章
- python编码问题之\"encode\"&\"decode\"
python encode decode 编码 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换 ...
- Python bytes decode() 方法
描述 bytes decode() 方法以指定的编码格式解码 bytes 对象,默认编码为 'utf-8'. 对应的编码方法:encode() 方法 . 语法 Python bytes decode( ...
- 字符编码和Python代码操作文件
字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...
- 字符编码和python中的文件处理
字符编码与python文件处理 ---------------- 字符编码 1.常见的编码 ASCII: 美国人发明的,只编码英文字母和符号,1个字节. GB2312: 中国人发明的,增加了中文汉字和 ...
- 字符编码和python使用encode,decode转换utf-8, gbk, gb2312
ASCII码 标准ASCII码使用7位二进制数表示大写或小写字母,数字0到9标点符号以及在美式英语中使用的特殊控制字符. 在标准ASCII码中,最高位(b7)用作奇偶校验位,所谓奇偶校验,是指在代码传 ...
- 字符编码和python文件操作
字符编码和文件操作 目录 字符编码和文件操作 1. 字符编码 1.1 什么是字符编码 1.2 字符编码的发展史 1.2.1 ASCII码 1.2.2 各国编码 1.2.3 Unicode 1.3 字符 ...
- python encode decode
Python encode()encode() 方法以 encoding 指定的编码格式编码字符串.errors参数可以指定不同的错误处理方案.写法:str.encode(encoding='UTF- ...
- 字符编码到python编辑器流程
字符(存储了信息的东西)编码(): 键盘发送的是电流-->主机(内存)接受到电流(当作010100110101)-->显示屏 接受电流(当作010100110101------->键 ...
- 字符编码,python解释器------总结
目录 1. 编码: 1.字符编码 2. 编码的历史 3. 编码和解码 2. python解释器 解释代码的流程 1. 读取文本到解释器 2. 识别代码(检查语法问题) 3. 往终端打印 1. 编码: ...
随机推荐
- An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
如果你和我一样遇到了这个问题,那么你就要检查你要操作的Model对象查询,更新操作的数据库上下文也就是DBContext是否一致.如果不一致也就是说你用AContext去查如AContext.SET& ...
- jquery ajax的error错误信息
项目开发中ajax的异常处理起来算是比较头疼的,因为是异步请求,所以即使ajax异常程序依然会继续执行,导致找ajax的异常比较麻烦. 今天处理ajax异常时搜到一篇文章,提到error可以返回aja ...
- File API 读取上传的文件
1, 在html 文档中,<input type="file"> 我们可以选择文件进行上传,但这时只能上传一个文件.如果加上multiple 属性,可以上传多个文件,上 ...
- express+gulp构建项目(三)gulp任务
这次来看一看gulp是怎么工作的. tasks/paths.js paths.js文件里存放的是gulp任务中需要导入的文件的路径和导出的路径. /** * gulp.src 地址 * gulp.de ...
- Eclipse通过jdbc连接oracle数据库
首先要有包 然后,在项目中加载进去- 最后就是代码了 import java.sql.*;public class GetConn {public Connection getConnection() ...
- 输入scanner,if-else
import java.util.Scanner; public class Job{ public static void main(String[] args){ Scanner scanner ...
- javascript学习之Function 类型
1.函数是对象,同样也有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. 2.使用不带圆括号的函数名是访问函数指针,而非调用函数. 3.因为ECMAScri ...
- angular路由
ngRoute需要引进以下文件 <script src="http://code.angularjs.org/1.2.5/angular.min.js"></sc ...
- mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_智能标签
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- Scala学习(一)
最近在学习Scala,总结了一下比较基础的知识. 一.Scala简介 1.Scalable Language,是一门多范式的编程语言,是一种纯面向对象的语言,每个值都是对象. 2.特点:①Scalab ...