笔记二:python编码详解
一:学习内容
- python编码讲解
- python编码说明
- python中文乱码解决三部曲
二:python编码讲解
1. ASCII编码
美国信息交换标准代码(American Standard Code for Information Interchange,简称ASCII)是一种用于信息交换的美国标准代码,它的作用是给英文字母、数字、标点、 字符转换成计算机能识别的二进制数规定了一个大家都认可并遵守的标准。
ord('a')
ord('z')
chr(97)
chr(122)
Ascii表:
数字范围为:48—57
大写字母范围为:65—90
小写字母范围为:97—122
2. GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换
3. GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码
4. ANSI:是与你使用的windows操作系统的语言有关系的,像windows 7 简体中文版就是GBK(用一个字节表示英文,用两个字节表示一个中文)
5. UNICODE编码
这是一种世界上所有字符的编码,但是它没有规定的存储方式。Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
print unichr(30000)
print unichr(30001)
6. UTF-8编码
是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。
可以这么理解:
Unicode包括了utf-8,utf-8包括了gbk,gbk包括了gb2312
三:python编码说明
1. GB2312和gbk编码
Gb2312和gbk主要用于汉字的编码,一般中国的网页gb2312或utf-8用的比较多,如果你的网页主要面对使用汉语的中国人的话,使用gb2312和gbk会非常友好,但是如果你要面向世界,可能在有些电脑的浏览器上没有这种编码,那么网页的汉字内容就会变得无法识别而乱码。
2. GB指国标的意思
3. Ascii码计算机开始是老美发明的,只支持英文,但是随着计算机发展,全世界其他国家也想用,所以发明了unicode编码,支持世界上所有的语言。
4. Utf-8一般在计算机中做存储使用,全世界通用,所有电脑都有。
5. Windows系统中文件存储时选择ansi,其实就是保存为GBK编码
6. Utf-8和GBK(GB2312)之间都必须通过Unicode才能转换
GBK、GB2312----Unicode----UTF-8
UTF-8----Unicode----GBK、GB2312
四:python中文乱码解决三步曲
1. 第一步:文件报存为utf-8
2. 第二步:添加encoding=utf-8
3. 第三步:中文前加u
注意此处的u为unicode的意思
结果:就打印出了不是乱码的中文
笔记二:python编码详解的更多相关文章
- CDN学习笔记二(技术详解)
一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...
- python编码详解--转自(Alex的博客)
原文地址:http://www.cnblogs.com/alex3714/articles/7550940.html 编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答 这哥们 ...
- C#学习笔记二: C#类型详解
前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...
- 转1:Python字符编码详解
Python27字符编码详解 声明 一 字符编码基础 1 抽象字符清单ACR 2 已编码字符集CCS 3 字符编码格式CEF 31 ASCII初创 311 ASCII 312 EASCII 32 MB ...
- Python字符编码详解,str,bytes
什么是明文 “明文”是可以是文本,音乐,可以编码成mp3文件.明文可以是图像的,可以编码为gif.png或jpg文件.明文是电影的,可以编码成wmv文件.不一而足. 什么是编码?把明文变成计算机语言 ...
- 转2:Python字符编码详解
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...
- Python2.7字符编码详解
目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3. ...
- python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题
python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题 一丶爬虫概述 通过编写程序'模拟浏览器'上网,然后通 ...
- 【山外笔记-数据库】Memcached详解教程
本文打印版文档下载地址 [山外笔记-数据库]Memcached详解教程-打印版.pdf 一.Memcached数据库概述 1.Memcached简介 (1)Memcached是一个自由开源的,高性能, ...
随机推荐
- maven 学习:为什么要使用maven,maven使用过程中的一些参数
Maven是一个基于Java平台的项目构建工具. 设计的出发点: 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们要重复相同的开发步骤:编码,编译,测试,生成文档,打包发布. ...
- php连接微软MSSQL(sql server)完全攻略
http://www.jb51.net/article/98364.htm php连接微软MSSQL(sql server)完全攻略 作者:吵吵 字体:[增加 减小] 类型:转载 时间:2016-11 ...
- Android-Git命令行操作
Git命令行操作,在Mac上使用的话,Mac会自带了Git,直接在终端或者iTerm都可以执行Git命令操作: Git命令行操作,在Windows系统电脑上使用的话,需要安装Git,安装好Git ...
- 【WinRT】获取 Uri 中的参数(QueryString)键值对
在控制台或者其它类型的项目中,可以添加 System.Web,使用以下代码来获取一个 Uri 中的参数 Uri uri = new Uri("http://www.cnblogs.com/h ...
- arduino远程刷新(烧录)固件
在车间部署了十几个网络版的温湿度采集器(基于arduino的),这些采集器分布在不同的地方,现在要更新一下上面的固件.最笨的方法是一个一个地取下来,插到电脑的USB接口上进行固件更新,这样做显然很麻烦 ...
- Mina集成Spring --- 在配置文件中配置sessionconfig
这个找了很久,一直想用这个功能,在xml里,配置如下: <?xml version="1.0" encoding="UTF-8"?> <bea ...
- KVM NAT网络模式配置
NAT方式原理 NAT方式是kvm安装后的默认方式.它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机. 检查当前的网络设置: #virsh net-list --all N ...
- C# 读取Excel表格内容,以及NPOI的使用
在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...
- C# volatile 关键字
volatile 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier).它是被设计用来修饰被不同线程访问和修改的变量.如果不加入volatile,基本上会导 ...
- ASP .Net Core路由(Route) - 纸壳CMS的关键
关于纸壳CMS 纸壳CMS是一个开源免费的,可视化设计,在线编辑的内容管理系统.基于ASP .Net Core开发,插件式设计: GitHub:https://github.com/SeriaWei/ ...