Python学习之——编码方式
1.各种编码方式
ASCII:http://zh.wikipedia.org/zh-hans/ASCII Unicode:http://zh.wikipedia.org/zh-hans/Unicode UTF-8:http://zh.wikipedia.org/zh/UTF-8 GBK:http://zh.wikipedia.org/zh/%E6%B1%89%E5%AD%97%E5%86%85%E7%A0%81%E6%89%A9%E5%B1%95%E8%A7%84%E8%8C%83 GB_2312:http://zh.wikipedia.org/zh/GB_2312
2.各种编码方式的来由
1.编码:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0).具体用哪些二进制数字表示哪个符号,当然
每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就
出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
2.ASCII(American Standard Code for Information Interchange):
众所周知,计算机是由美国人发明的,那么ASCII的制定也是由美国人完成的,因此ASCII的制定是为了显示现代美国英语。其中包括:
26个基本拉丁字母、阿拉伯数字和英式标点符号。
3.GB2312 :
ASCII只能解决美国人的信息交换需求,对于以汉字汉语为交流工具的中国人必须制定自己的编码方式,才能解决信息交流的要求。
GB2312就是这样一种编码方式,它是中华人民共和国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》。
4.Unicode: 世界上有200多个国家和地区,常用的语言文字也有几十种,各国都制定了自己的编码标准。例如日本:Shift_JIS,韩国:Euc-kr,各国有各国的标
准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。
Unicode的产生就是为了解决这个问题的。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
既然Unicode方式解决了冲突,也就是能达到全世界交换信息的需求,那又是为什么要有utf-8这种编码方式呢?看下图
aaarticlea/png;base64,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" alt="" />
5.UTF-8(8-bit Unicode Transformation Format)
如果信息基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。 所以,为了节约空间,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,
常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码
就能节省空间。
Python学习之——编码方式的更多相关文章
- Python学习---深入编码学习1225
1.1. Python2 Py2中只有2中数据类型,Str和Unicode,而且str中保存的是bytes,Unicode中保存的是unicode 一切我们能看到的明文都是unicode数据类型, b ...
- python中字符串编码方式小结
Python2中字符串的类型有两种:str和unicode,其中unicode是统一编码方式,它使得字符跟二进制是一一对应的,因此所有其他编码的encode都从unicode开始,而其他编码方式按照相 ...
- python note 06 编码方式
1.有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中.即: {'k1': 大 ...
- Python学习-字符编码, 数据类型
本篇主要内容: 字符编码 Python中的数据类型有哪些 类型的一些常用操作及方法 一.字符编码 编码解释的大部分内容摘自廖雪峰老师教程中的讲解,点击跳转. 简单介绍: 我们知道计算机只能处理数字,如 ...
- python 学习笔记-----编码问题
1.python 最早支持的是ASCII编码. 所以对于普通的字符串"ABC"为ASCII编码的形式.字母和数字之间的转换函数为ord('字母')和chr(‘数字’)函数. ord ...
- [转]修改python默认的编码方式
今天碰到了 python 编码问题, 报错信息如下Traceback (most recent call last): File "ntpath.pyc", line 108, ...
- Python学习-字符编码浅析
1.什么是字符编码 既然是简述那肯定是简单明了.字符编码,看名字就是一种字符的编码格式,由于计算机内部采用二进制,想要将人类的语言字符输入到计算机就需要一种编码格式,这就是字符编码.字符------- ...
- python 修改文件编码方式
import chardet import os def strJudgeCode(str): return chardet.detect(str) def readFile(path): try: ...
- 设置python的默认编码方式为utf-8
在python的Lib\site-packages文件夹下新建一个sitecustomize.py,然后通过sys.getdefaultencoding()获取当前的默认编码 内容为:
随机推荐
- iis部署wcf服务
win8的如下 . 打开iis新建一个应用程序MyWcfTest 检查iis中的处理程序映射,含有svc说明激活了. 然后把svc文件和webconfig放入到指定的目录上. 使用地址http://l ...
- 微服务之springCloud-docker-feign配置(五)
简介 上一节我们讨论了怎么用feign声明式调用cloud的生产者,这节我们讨论一下feign配置,通过编写配置类,我们可以自定义feign的日志级别,日志扫描目录,可以通过feign调用服务在eur ...
- 常用Git命令清单(转)
文/阮一峰 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图 6 个命令,就可以了.但是熟练使用,恐怕要记住 60-100 个命令. 下面是我整理的常用 Git 命令清单.几 ...
- java.io.BufferedInputStream 源码分析
BufferedInputStream是一个带缓冲区的输入流,在读取字节数据时可以从底层流中一次性读取多个字节到缓冲区,而不必每次读取操作都调用底层流,从而提高系统性能. 先介绍几个关键属性 //默认 ...
- Microsoft.AspNet.Identity.EntityFramework/IdentityDbContext.cs
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; ...
- ajax 案例demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- mysql找到所有索引
SELECT a.TABLE_SCHEMA,a.TABLE_NAME,a.index_name,GROUP_CONCAT(column_name ORDER BY seq_in_index) AS ` ...
- easyui使用介绍
http://www.jeasyui.com/index.php based on jQuery, Angular and Vue. don't need to write many javascri ...
- Oracle IF-ELSE 条件判断结构
1. IF 语法 IF 表达式 THEN ... END IF; 例如: set serverout on declare v_name varchar2(20):='&name'; begi ...
- What is "found.000" ? How to deal with it?
最近在ubuntu系统中发现双系统的win盘中有一些文件夹,名字是“found.000”,甚是疑惑,遂查而记之. found.000文件夹里面的一些后缀名为CHK的文件是你在使用“磁盘碎片整理程序”整 ...