Python 字符编码判断】的更多相关文章

转自:http://www.cnblogs.com/dkblog/archive/2011/03/02/1980644.html 法一: isinstance(s, str) 用来判断是否为一般字符串 isinstance(s, unicode) 用来判断是否为unicode 或 if type(str).__name__!="unicode":str=unicode(str,"utf-8")else:pass 法二: Python chardet 字符编码判断使用…
题记 在获取中文字符的时候,如果出现乱码的情况,我们需要了解当前的字符串的编码形式.使用下面两种方法可以判断字符串的编码形式. 法一: isinstance(s, str) 用来判断是否为一般字符串 isinstance(s, unicode) 用来判断是否为unicode 或 if type(str).__name__!="unicode": str=unicode(str,"utf-8") else: pass 法二: Python chardet 字符编码判断…
之前一直想找到一个模块,针对字符判断是什么字符集编码的库 网上有chardet的blog,发现自己的环境有这个库,于是就做了测试 >>> import chardet >>> a = "也有".decode('gbk') >>> a u'\u6d94\u71b8\u6e41' >>> a = "也有".decode('gbk').encode('gbk') >>> a '\xe…
什么是明文 “明文”是可以是文本,音乐,可以编码成mp3文件.明文可以是图像的,可以编码为gif.png或jpg文件.明文是电影的,可以编码成wmv文件.不一而足. 什么是编码?把明文变成计算机语言 为什么要用Unicode来编码?可以记录所有语言,而且编码方式不止一种 python str与bytes之间的转换 # bytes object b = b"example" # str object s = "example" # str to bytes bytes…
Python27字符编码详解 声明 一 字符编码基础 1 抽象字符清单ACR 2 已编码字符集CCS 3 字符编码格式CEF 31 ASCII初创 311 ASCII 312 EASCII 32 MBCSDBCSANSI本地化 321 GB2312 322 GBK 323 GB18030 33 Unicode国际化 331 UTF-8 332 UTF-16 333 UTF-32 334 字节序问题 335 编码适用场景 4 字符编码方案CES 5 中文字符乱码Mojibake 51 未指定编码格…
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节…
通过下面的练习,加深对python字符编码的认识 # \x00 - \xff 256个字符 >>> a = range(256)>>> b = bytes(a) # 不用参数encoding >>> b b'\x00\x01\x02 ... \xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' >>> b.decode('utf-8') # 报错 Traceback (most recent call l…
声明:本文参考 Python字符编码详解 在计算机中我们不管用什么语言和程序,最终数据在计算机中的都是字节码(也就是01形式)的形式存在的,如果 计算机直接把字节码显示在屏幕上,很明显一般人看不懂字节码,我们能看懂的只有字符,所以就需要用程序把字节码翻译成字符,要 将字节码翻译成字符,必须在字节码和字符之间建立一种逻辑映射的关系, 我们就使用这种逻辑映射的关系在字节码和字符之间互相 转化,这种逻辑映射关系我们就称之为字符集.      所以字节码和字符之间的翻译过程就是编码或者解码的过程,至于这…
http://blog.51cto.com/9478652/2057896 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError.UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode.decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Pytho…
不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError.UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode.decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Python 字符编码给搞懂呢? 完全理解字符编码 与 Python 的渊源前,我们有…
字符编码: Python字符编码贯穿Python学习的始终,现在应用的是Python2中字符编码的问题是很多的. 这次是要彻底解决Python字符编码的问题!!! 1 字符编码的发展过程: 1 .ASCII :256 美国需要128个字符,只需要7位 --美国 2.扩展ASCII : 8 比特位 --拉丁 3.GB2312 : 中文扩展ASCII 两个字节都大于127 --中国 4.GBK : 两个字节,第一个字节大于127 5.Unicode是一种编码方式 两个字节 16 至少两个字节:2^1…
距离上一篇的python --- 字符编码学习小结(一)已经过去2年了,2年的时间里,确实也遇到了各种各样的字符编码问题,也能解决,但是每次都是把所有的方法都试一遍,然后终于正常.这种方法显然是不科学的,本质上不理解问题产生的原因,所以遇到问题,只能先用万能钥匙,不行的话再逐个换.2年的时间积累和学习目前对此的了解又深刻了一点. 一.常见的编解码问题: 先来说几个常见的问题吧. 这2个问题,都是最最常见,又最基本典型的问题,又最基本的2个问题,从这2个问题出发,弄清楚问题产生的原因,后面很多问题…
原因 近期,用Python处理一些中文的字符串,但是用Python读取文件的中文字符和在代码中输入的中文字符,在判断处理时,例如判断“相等”或者“包含”,总是不能判断,相等或者包含都不起作用.看了字符的编码,源文件输入的中文字符,是2个字节表示,读入的文件,是3个字节表示.在网上找了很多资料,大多和我的问题不想关,这里就根据自己的领悟和网上不错的资源跟大家分享一下. 问题分析 不要把Python和Java混淆,Python是脚本语言,不会编译生成可执行文件,而Java会编译代码,形成可执行的cl…
http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBC…
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节…
转自:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2.…
.read #读取所有内容,光标移动到文件末尾.readable #判断文件是否可读.readline #读取一行内容,光标移动到第二行首部.readlines #读取每一行内容,存放于列表中.write #针对文本模式的写,需要自己写换行符.writable #判断文件是否可写.writelines #向文件中写入一序列的字符串.close #关闭打开的文件encoding='' 用哪个编码打开.encode #编码.decode #解码 上节课复习: 1.集合类型: 两大用途:关系运算+去重…
字符编码 字符编码历史及发展 为什么有字符编码 ''' 原因:人们想要将数据存入计算机 计算机的能存储的信息都是二进制的数据 内存是基于电工作的,而电信号只有高低频两种,就用01来表示高低电频,所以计算机里存储的数据都是0101这样的二进制数据 ''' 各种编码表/标准 的由来 """ 基于上述原因与情况 人们输入的都是我们自己能看懂的语言.字符, 而计算机里存储的却是二进制数据,这样计算机不能读懂了 所以在保存数据的时候有一个转换过程,要有一个对应关系将我们输入的字符转换成…
ANSI不是一种具体的编码格式 ANSI在中文Windows操作系统代码指的是GBK编码 ANSI在中文Mac操作系统代码指的是UTF-8编码 ANSI在其他国家的操作系统中有其他的编码格式 #ASCII码:不能存中文 一个字符占用8位#uniconde:这是是一种字符集,可以存中文,一个字符占用16位空间(不分中文还是英文)#unic这种存储方式,对于存储纯英文,浪费了空间, Unicode 本身并没有规定一个字符究竟是用一个还是三个或者四个字节表示.Unicode 只规定了每个字符对应到唯一…
目录 字符编码 字符编码是什么 字符编码的发展史 字符编码实际应用 编码与解码 乱码问题 python解释器层面 文件操作 文件操作简介 文件的内置方法 文件的读写模式 文件的操作模式 作业 答案 第一题: 第二题 字符编码 字符编码是什么 人与计算机交互时,使用的都是人类能够读懂的语言,而计算机只能理解0和1两个数字的组合,字符编码就是相当于将人类能够理解的语言翻译成计算机能够理解的数字. 字符编码的发展史 字符编码大概可以分为三个阶段. 阶段一:一家独大 计算机是由美国人,所以一开始只有他们…
python中, 我们平常使用最多的三种编码为 gbk/gb2312,  utf8 ,  unicode. 而python中并没有一个函数来进行 编码的判断.今天,主要对这三种编码进行讨论,并给出区分这三种编码的函数. 我们知道, unicode编码是1位       gbk,gb2312是2位       utf-8是3位 所以,若只有一个汉字,我们可以通过 长度来判断: len(u'啊') == 1 #True len(u'啊'.encode("gbk"))  == 2 #True…
一.什么是字符编码 计算机要想工作必须通电,也就是说‘电’驱使计算机干活,而‘电’的特性,就是高低电压(高低压即二进制数1,低电压即二进制数0),也就是说计算机只认识数字 编程的目的是让计算机干活,而编程的结果说白了只是一堆字符,也就是说我们编程最终要实现的是:一堆字符驱动计算机干活 所以必须经过一个过程: 字符串--------(翻译过程)------->数字 这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码 二.字符编码分类 计算机由美国人发明,最早的字符编码为AS…
在2.7环境中我们要写上这一行#-*- coding:utf-8 -*- 为什么我们要加这一行呢?这一样的意思是置顶编码类型为utf-8编码! 首先在看这个问题之前,咱们是否曾想过一个问题? 为什么我们可以在显示器上能看到这些文字.数字.图片.字符.等等信息呢?大家都知道计算机本身只能识别 0 1 的组合,他们是怎么展示这些内容的呢?我们怎么和计算机去沟通呢? 如果我们使用0 1 的组合和计算机沟通你还能看到这些内容吗?还有一个问题就是01的组合对于咱们说几乎看不懂对吧! 那怎么办?如何让计算机…
Python中经常出现字符编码问题,在这里统一整理吧. 参考这篇文章:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 另外这个人博客里面有不少关于Python的内容,可以看看.…
一 .了解字符编码的知识储备 1计算机基础知识 1.2文本编辑器存取文件的原理(nodepat++,Pycharm,word) #.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失 #.要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上. #.在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已. 1.3Python解释器执行py文件的原理,例如Python test.py #第一阶段:P…
本章节内容导航: 1.字符编码:人识别的语言与机器机器识别的语言转化的媒介. 2.字符与字节:字符占多少个字节,字符串转化 3.文件操作:操作硬盘中的一块区域:读写操作 注:浅拷贝与深拷贝 用法: dic={'name':'zhaokang','age':18,'aa':[12,13,14]} l.copy() 浅拷贝:会重新开辟内存地址去存储值的内存地址,但值得内存地址指向的还是需要拷贝的值的内存地址. 深拷贝:会重新开辟内存地址去存储值得内存地址,但是值的内存地址指向的是新的一个内存地址,如…
      需知: .在python2默认编码是ASCII, python3里默认是unicode .unicode 分为 utf-(占4个字节),utf-(占两个字节),utf-(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-,因为utf8省空间 .在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string Python数据类型: 数字Number() 二进制都是…
一 字符编码 储备知识点: 1.计算机系统分为三层: 应用程序 操作系统 计算机硬件 2.运行Python程序的三个步骤 1.先启动python解释器 2.再将python文件当做普通的文本文件读入内存 3.解释执行读入内存的代码,开始识别语法 字符编码 1.什么是字符编码 字符编码表:人类的字符<------------>数字 1Bytes=8bit 1B=8bit  1字节等于8个二进制 ASCII码:只能识别英文字符,1英文字符=8bit 用8个二进制bit(比特位)表示一个英文字符 G…
一.了解字符编码的知识储备 1.文本编辑器存取文件的原理(nodepad++,python,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放于内存中的,断电后数据丢失 要想永远保存,需要点击保存按钮:编辑器把内存的数据刷到硬盘上 在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已. 2.python解释器执行py文件的原理,(python,test.py) 第一阶段: python解释器启动,此时就相当于启动了一…
1.内存和硬盘都是用来存储的 内存:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编写的内容也都是存放在内存中的,断电后数据就丢失了.因而需要保存在硬盘上,点击保存按钮或快捷键,就把内存中的数据保存到了硬盘上.在这一点上,我们编写的py文件(没有执行时),跟编写的其他文件没有什么区别,都只是编写一堆字符而已. 3.Python解释器执行py文件的原理,例如 python test.py…