python 中文编码】的更多相关文章

最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下笔记.方便以后查阅和大家学习.        中文编码问题的处理核心都是——保证所有的编码方式一致即可,包括编译器.数据库.浏览器编码方式等,而Python通常的处理流程是将unicode作为中间转换码进行过渡.先将待处理字符串用unicode函数以正确的编码转换为Unicode码,在程序中统一用U…
背景:笔者作为一名刚接触python语言的新手,在实际的项目中,遇到过一些中文编码问题,初次遇到这些问题的时候,刚开始显得有些手足无措,也不知从何查起.常言道:有问题,找度娘!当我打开www.baidu.com后,并键入遇到的问题时,才发现这个问题非常泛滥,几乎可以用霸屏来形容(心中窃喜,终于有救了),但是关于python中文编码问题产生的原因和解决方法的描述可谓百花齐放,不够系统和彻底,顿觉空欢喜一场.因此,笔者写下这篇文章,深入分析一下python中文编码问题,第一是想自己与中文编码问题来个…
Python 中文编码 为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5.    GB2312(1980年)一共收录了7445个字符,包括6763个汉子和682个其他符号.汉字区的内码范围高字节从B0-E7,低字节A1-FE,占用的码位是72*94=6768.其中5个空位是D7FA-D7EF.           GB2312支持的汉字太少.1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字去和图形符号区.汉字区包括21003个字符,2000年的G…
Python 文本挖掘:解决Python中文编码问题 转于:http://rzcoding.blog.163.com/blog/static/2222810172013101785738166/   据说Python 最恶心的地方是中文编码问题,这也让很多人放弃使用Python.此刻我只想说..放弃得好!.. 因为这确实是Python 最恶心的问题,暂时木有之一. 在经过多次挫败,多次google,多次stackoverflow 无果之后,只有硬着头皮上..因为只会用Python 了摔! 终于我…
python到目前为止,一共有两个版本,分别是2.x和3.x版本,根据官方正式通知2020年停止对python更新和维护,距离今天还有110天左右,所以正在学习python的小伙伴应该暗中庆幸一波. python2.x版本默认采用ASCLL编码,python3.x版本则默认采用UTF-8编码,两者有什么区别呢?唯一区别就是如果代码或者注释中含有中文,ASCLL编码会出现乱码,UTF-8却可以正常显示中文,即python2.x版本中文显示不正常,python3.x版本正常. 一.为什么会出现乱码…
前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题.Python 文件中如果未指定编码,在执行过程会出现报错:#!/usr/bin/pythonprint "你好,世界";以上程序执行输出结果为: File "test.py", line 2SyntaxError: Non-ASCII character '\xe4'…
用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题. Python 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/python print "你好,世界"; 以上程序执行输出结果为: File SyntaxError: Non-ASCII character , but no encoding declared; see http://www.…
首先,要明确encode()和decode()的差别 encode()的作用是将Unicode编码的字符串转换为其它编码格式. 比如:st1.encode("utf-8")  这句话的作用是将Unicode编码的st1编码为utf-8编码的字符串 decode()的作用是把其它编码格式的字符串转换成Unicode编码的字符串. 比如:st2.decode("utf-8") 这句话的作用是将utf-8编码的字符串st2解码为Unicode编码的字符串 第二,除Unic…
中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢? 我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各种编码,比如作为中国程序经常要面对的gbk,gb2312,utf8等,那这些编码是怎么转换成内部的unicode呢? 首先我们先看一下源代码文件中使用字符串的情况.源代码文件作为文本文件就必然是以某种编码形式存储代码的,python默认会认为源代码文件是asci编码,比如说代码中有一个变量赋值: s…
上一篇文章介绍和分析了python2.7中使用print遇到的中文编码问题的原因和解决方案,本篇主要介绍一下python2.7中执行文件读写可能遇到的编码问题. 1.文件读取 假如我们读取一个文件,文件保存时,使用的编码格式,决定了我们从文件读取的内容的编码格式,例如,新建一个文本文件test.txt, 编辑内容,保存的时候注意,编码格式设定为gb2312,那么使用python读取文件内容,方式如下: f = open('test.txt','r') s = f.read() #读取文件内容,如…
第一步:在代码中输入以下命令,执行: #在Python中显示中文注释和输出中文a ="中文"print a 返回错误: d:\Python27\python.exe "D:\test\中文.py"Process started >>>  File "D:\test\中文.py", line 1SyntaxError: Non-ASCII character '\xe5' in file D:\test\中文.py on line…
1. 下面的语句要放在代码开头,指定文件编码, 可以识别 脚本中的所有字符和中文. # -*- coding:utf-8 -*- 2. codecd 编码转换 如果想要读取文本中的中文,需要借助于codecs的一套open方法,而不是内置的open. #-*- coding:utf-8 -*- print '我是' import codecs f=codecs.open("e:/python/test_data/chinese.txt") content=f.read() f.clos…
1.文件首#coding=utf-8 作用:为了把文件内容编码python所识别的utf-8,若不指定编码格式,则会出现以下错误: 2. 文件储存指定编码为utf-8 作用:将文件编码成utf-8.如果编码成gbk,则会显示以下告警 3.python 数据库要指定编码:charset='utf8',否则数据库显示中文为乱码. 4.winxp 的系统编码格式是gbk 整体来说:就是文件编码.Python的编码,数据库的编码格式这三者要一致,才能正确显示中文…
在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我一样的问题:那就是print打印中文异常以及显示乱码问题.本文主要分析一下在linux下使用python2.7的print语句中文异常以及终端显示中文乱码问题的原因及解决办法.转载请注明出处,谢谢! 1.print打印显示的过程 图1. Print打印显示过程 Python2.7中调用print打印…
import sys sys.setdefaultencoding('utf-8') 保存为:sitecustomize.py 将文件放至: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/(即:python2.7的安装路径) 测试是否有效: 在命令行输入命令: python -c "import sys; print sys.getdefaultencoding()" 如果输入…
python2.x版本的字符编码有时让人很头疼,遇到问题,网上方法可以解决错误,但对原理还是一知半解,本文主要介绍 python 中字符串处理的原理,附带解决 json 文件输出时,显示中文而非 unicode 问题.首先简要介绍字符串编码的历史,其次,讲解 python 对于字符串的处理,及编码的检测与转换,最后,介绍 python 爬虫采取的 json 数据存入文件时中文输出的问题. 参考书籍:Python网络爬虫从入门到实践 by唐松 在python 2或者3 ,字符串编码只有两类 : (…
最近在做验证用户姓名的功能时发现这样一个现象.   >>len(u'打怪者') #unicode 3 >>len(u'打怪者'.encode('gbk')) #gbk 6 >>len('打怪者') #utf-8 9   一般都知道,gbk编码每个汉字占用2个字节,utf8编码的每个汉字占用3个字节,这就是很多网站不用统一标准utf8的原因,就是gbk占用字节少. 既然len(u'打怪者')等于3,长度比gbk和utf8编码的都小,直接用unicode的不是更节省吗? 其…
我在学python的过程中,遇到的第二个问题,就是中文乱码,如今也算勉强入门了,在这里给大家说说我的经验,也算个新人引导吧.     在文章里,我会重点提到一个概念:有来有去. 即数据从哪里来,到哪里去?   ==================================================== 1.windows下cmd终端中的中文 C:\Documents and Settings\admin>python Python 2.7.7 (default, Jun 1 2014…
对于初学者而言,编码问题或许还没有没重视起来,但是编码问题是中文开发者必须面对的.今天来看下python开发中如何解决编码问题.注意:本篇讲的是最常见的一种编码问题,其他编码问题,如json函数引起的编码问题,其他函数的编码问题,以后会陆续为大家讲解. 编写程序的过程中会碰到中文字符串,但由于Python默认采用ASCII编码方式,所以对中文不支持.要解决此问题,必须设置当前编码方式为Unicode方式. 注意:不仅仅是程序中出现中文字符,而且注释中出现中文也会导致编码问题! 出现错误提示:Un…
Windows下的控制台中,应该是这样的逻辑: 1.如果是Unicode字符串的话,首先根据控制台编码进行转换 2.之后进行输出 所以在Windows控制台下,假设str = u'中文', 1.直接print str是可以正确输出的 2.print str.encode('gbk')或者print str.encode('gb2312')是正确输出的 3.print str.encode('utf-8')是输出乱码 在Windows系统下的Sublime Text中,假设str = u‘中文',…
打印list的时候unicode对象不会自动转为中文!…
解决方案一:将如下部分加在报错的py文件里 import sys reload(sys) sys.setdefaultencoding('utf-8')…
1.Python 中文编码 前面章节中我们已经学会了如何用 Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题. Python 文件中如果未指定编码,在执行过程会出现报错. Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf…
Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构. Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言. Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序. Python 是面向对象语言: 这意味着Python支持面向对象的风格…
相关文章 Python中文编码问题:为何在控制台下输出中文会乱码及其原理 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节…
一.python介绍以及发展史  1.1 python的介绍: 简单点来说吧,python这玩意儿是一个叫做Guido van Rossum的程序猿在1989年的圣诞打发时间而决心去开发的一个脚本编程语言.它之前的名字是以abc语言的一种继承.之所以叫做python,那是因为这个伟大的程序员Guido van Rossum是BBC电视剧——蒙提·派森的飞行马戏团(Monty Python‘s Flying Circus)的爱好者.  1.2 为毛要学习python: 学习python首先要去了解…
+加两个对象相加 3 + 5得到8.'a' + 'b'得到'ab'. (注意:6+'a'这样是错误的,但在PHP里这样是可以运行的) -减得到负数或是一个数减去另一个数 -5.2得到一个负数.50 - 24得到26.   *乘两个数相乘或是返回一个被重复若干次的字符串 2 * 3得到6.'la' * 3得到'lalala'(但PHP里这样运算返值为0). 在PHP中要实现相同功能,有函数: str_repeat(),str_pad() **幂 返回x的y次幂 3 ** 4得到81(即3 * 3…
编码问题 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错.解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了. 注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码. 编程方式 (一)交互式编程 (二)脚本式编程,python **.py文件 Python 基础教程 Python 基础教程Python 简介Pyth…
举个例子 >>> s = u'\u6ce8\u91ca' >>> s u'\u6ce8\u91ca' >>> print s 注释 >>> print type(s) <type 'unicode'> >>> print s.encode('gbk') 注释 字符串前加u表示为unicode编码,而当前文本的unicode编码 可以设定, 比如utf-8编码就是第一行加上: # -*- coding: u…
Python教程 Python 教程 Python 简介 Python 环境搭建 Python 中文编码 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循环语句 Python 数字 Python 列表(List) Python 字符串 Python 元组 Python 字典(Dictionary) Python 日期和时间 Python 函数 Python 模块 Python File及os模块 Python文件IO Python 异…