Python 字符集
什么是字符?
1.在Python中,字符串中的内容都是字符.
2.什么是字符编码(encode)和字符集(charset)?
- 计算机只能识别数值,而字符不能识别,为了让计算机能处理字符,必须将字符和数值产生一个映射关系.(即:给某个字符指定一个数值,计算机就用这个数值表示这个字符了.)这个映射关系,称为字符集. 例如: ASCII字符集,gbk字符集,Shift_JIS字符集.
- 这些字符集通常不互相通用,比如:3000这个数值在gbk中表示一个符号,在其他的字符集中有可能表示的就是完全不同的字符.
- 为了终止这种混乱的场面,出现了Unicode字符集.
- Unicode字符集也是一种字符和数值对应的关系表.只不过它里面保存的数值比较多,目前已经达到了一百多万个.已经能表示世界上所有能见到的语言和符号了.
3.字符编码:将字符集中的数值转换成字节的过程.
- 但是和ASCII字符集,gbk字符集,Shift_JIS字符集不同的是:
- Unicode字符集提供了多种实现方案:
- UTF8,UTF16,UTF32等等.
- UTF:Unicode Translate
- Format,Unicode转换格式
- 其中,UTF16用固定的2个字节表示Unicode字符.
- UTF32用固定的4个字节表示Unicode字符. 二者都不太常用.
4.而UTF8是一种变长的编码方案(在互联网领域最常用):
- 能用一个字节表示的,就用一个字节表示.
- 表达不了的,用两个字节表示.
- 实在不行的,用三个字节表示.
- 还有一些比较少用的,用四个字节表示.
- 中文一般用三个字节表示.
- Unicode字符集和UTF8编码对应的关系:
Python 字符集的更多相关文章
- python字符集的转换(mysql数据乱码的处理)
本文参考:http://blog.csdn.net/crazyhacking/article/details/39375535 chardet模块:http://blog.csdn.net/tianz ...
- python字符集选择
# coding=utf8 或者 # -*- coding:utf-8 -*- 在python2 中默认是ASCII码的字符集,但可以引入其他的字符集 这个需要在头信息中引入: 而在python3中 ...
- Python字符集
字符集: 美国:ASCII 需要8bit表示 英文字母一个字节,不支持中文中国:GBK 英文字母一个字节,汉字占两个字节万国:un ...
- python 字符集转换-灰常慢
代码 def toUni (text): str = text try: charstyle = chardet.detect(text) # print 'confidence: ', charst ...
- python print 中文重定向失败
一直以来认为解决python字符集编码,不一定需要通过sys.setdefaultencoding.因为既然python实现过程中,默认禁用了该操作,说明是不推荐的. 通过不断的字符转换,也cover ...
- 附录:python and numpy
http://cs231n.github.io/python-numpy-tutorial/ Python is a great general-purpose programming languag ...
- [py]文件 字符串 列表特例
文件 readlines 列表 readline 字符串 read 字符串 列表---拆分---小列表 f=file('test.log','r') for line in f.readlin ...
- 爬虫新手学习2-爬虫进阶(urllib和urllib2 的区别、url转码、爬虫GET提交实例、批量爬取贴吧数据、fidder软件安装、有道翻译POST实例、豆瓣ajax数据获取)
1.urllib和urllib2区别实例 urllib和urllib2都是接受URL请求相关模块,但是提供了不同的功能,两个最显著的不同如下: urllib可以接受URL,不能创建设置headers的 ...
- 字符集编码与Python(二)Unicode与utf-8
Python中的Unicode和utf-8 上一篇提过了字符集的历史其中简单的讲解了Unicode与utf-8的关系,简单的总结一下: utf-8和utf-16 .utf-32是一类,实现的功能是 ...
随机推荐
- Oracle_其他人连接不上自己电脑
1. 修改文件G:\app\eric\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora文件,listener中的address中加一个你的ip开头的 ...
- suface 触控笔
触控笔直接就可以书写,顶部橡皮擦可用. 但如果要使用笔上的按键(如单击启动OneNote),必须要用蓝牙进行配对.笔使用一节AAAA电池(九号电池)供电. 连接方法: 准备好surface触控笔,并确 ...
- Orm 入门总指南
注意:下面的pdf文件强烈建议下载或在线查看 1)旗舰版帮助文档点击查看或下载 2)http://pan.baidu.com/s/1hq7krFu(新手手册下载)(强烈推荐) 3)性能及规范下载,网友 ...
- k8s之发布管理架构图01
k8s发布管理所用到的组件
- 依赖注入(DI)与控制反转(IOC)基础知识
依赖注入(DI)与控制反转(IOC)基础知识 一.什么是依赖注入? 依赖注入英文是Dependcy Injection简写DI,依赖注入会将所依赖的对象自动交由目标对象使用,而不是让对象自己去获取. ...
- 【转】android实时视频网络传输方案总结(一共有五套)
最近研究了Android的实时视频网络传输问题,在视频处理方面花费了大量精力进行研究,总结出以下五套方案,并加以比较 以320×240大小的视频传输为例 方案 压缩率 压缩/传输方式 实时性 平均流量 ...
- Learn About Git Bash
git是用来做版本控制的,在本节博客中,主要介绍git的下载,以及简单的配置 Version control is a system that records changes to a file or ...
- eclipse中正确创建Django项目
本教程只说明eclipse中django项目的创建,不涉及django相关开发内容: 1."File" -> "New" -> "Othe ...
- Feign实现自定义错误处理
关键操作 实现ErrorDecoder接口 问题和背景 最近项目中在大量使用Feign和OkHttp作为http客户端使用,开发效率得到显著的提升.但也面临一些问题,比如每个下游系统的异常返回方式不同 ...
- 用结构体解析Pascal字符串
来源:https://www.cnblogs.com/qiuyuwutong/p/8708844.html 1.什么是柔性数组? 柔性数组既数组大小待定的数组, C语言中结构体的最后一个元素可以是大小 ...