【在Python中关于中文编码问题的处理建议】教程文章相关的互联网学习教程文章

Python编码处理之str与Unicode的区别与使用

用python处理中文,读取文件或消息时,如果发现乱码(字符串处理,读写文件,print),大多数人的做法是,调用encode/decode进行调试,并没有明确思考为何出现乱码, 今天我们来讨论一下如何处理编码问题。注意: 以下讨论为Python2.x版本, Py3k下未测试调试时最常出现的错误错误1Traceback (most recent call last): File "", line 1, in UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal错误2...

Python处理JSON时的值报错及编码报错的两则解决实录

1、ValueError: Invalid control character at: line 1 column 8363 (char 8362) 使用json.loads(json_data)时,出现:ValueError: Invalid control character at: line 1 column 8363 (char 8362) 出现错误的原因是字符串中包含了回车符(\r)或者换行符(\n) 解决方法: (1)对这些字符转义:json_data = json_data.replace(\r, \\r).replace(\n, \\n) (2)使用关键字strict:json.loads(json_data, strict=False) strict默认是Tru...

python实现中文转换url编码的方法

本文实例讲述了python实现中文转换url编码的方法。分享给大家供大家参考,具体如下:今天要处理百度贴吧的东西。想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了。但是添加到list里面是中文的情况(比如‘丽江),url的地址编码却是%E4%B8%BD%E6%B1%9F,因此需 要做一个转换。这里我们就用到了模块urllib。>>> import urllib >>> data = 丽江 >>> print data 丽江 >>> data \xe4\xb8\xbd\xe6\xb1\x9f >>> urllib...

学习python处理python编码问题

概括、从python1.6开始就可以处理unicode字符了。 一、几种常见的编码格式。 1.1、ascii,用1个字节表示。 1.2、UTF-8,用1个至三个字节表示,表示ascii码时只占用1个字节,ascii编码是UTF-8的子集。 1.3、UTF-16,用2个字节表示,在python中,unicode的含义就是UTF-16。 二、python源文件的编码与解码,我们写的python程序从产生到执行的过程如下: 编辑器--源代码--解释器--输出结果 2.1、编辑器决定源代码的编码格式(在编辑器中设...

python获得图片base64编码示例

代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*- import os, base64 icon = open(ya.png,rb)iconData = icon.read()iconData = base64.b64encode(iconData)LIMIT = 60liIcon = []while True: sLimit = iconData[:LIMIT] iconData = iconData[LIMIT:] liIcon.append(\%s\ %sLimit) if len(sLimit) < LIMIT: breakprint os.linesep.join(liIcon)

使用python的chardet库获得文件编码并修改编码

首先需要安装chardet库,有很多方式,我才用的是比较笨的方式:sudo pip install chardet代码如下:#!/usr/bin/env python# coding: UTF-8import sysimport osimport chardet def print_usage():  print usage:  change_charset [file|directory] [charset] [output file]\n  for example:   change 1.txt utf-8 n1.txt   change 1.txt utf-8   change . utf-8   change 1.txtdef get_charset(s):  return char...

python实现批量转换文件编码(批转换编码示例)

python实现批量转换文件编码(批转换编码示例)# -*- coding:utf-8 -*- author = walkskyer import os import glob class Encoding:def init(self):#文件扩展名self.ext = ".*"#编码self.srcEncoding=Noneself.dstEncoding=Nonedef convertEncoding(self, content, srcEncoding=None, dstEncoding=None):return content.decode(self.srcEncoding).encode(self.dstEncoding)def processDirectory(self, args, dirname, filenames):pri...

python处理中文编码和判断编码示例

下面所说的都是针对python2.7代码如下:#coding:utf-8#chardet 需要下载安装 import chardet#抓取网页htmlline = "http://www.***.com"html_1 = urllib2.urlopen(line,timeout=120).read()#print html_1encoding_dict = chardet.detect(html_1)#print encodingweb_encoding = encoding_dict[encoding]if web_encoding == utf-8 or web_encoding == UTF-8: html = html_1else : html = html_1.decode(gbk,ignore).encode(utf-8) #...

Python中文编码那些事

首先,要明白encode()和decode()的区别encode()的作用是将Unicode编码的字符串转换为其他编码格式。 例如: st1.encode("utf-8") 这句话的作用是将Unicode编码的st1编码为utf-8编码的字符串 decode()的作用是把其他编码格式的字符串转换成Unicode编码的字符串。 例如: st2.decode("utf-8") 这句话的作用是将utf-8编码的字符串st2解码为Unicode编码的字符串 第二,除Unicode编码的字符串以外,任何一种编码的字符串要想转换为其他...

Python中还原JavaScript的escape函数编码后字符串的方法

遇到一个问题需要用Python把JavaScript中escape的中文给还原,但找了大半天,也没有找到答案,只好自己深入研究解决方案。 我们先来看在js中escape一段文字的编码代码如下: a = escape(这是一串文字); alert(a);输出:代码如下: %u8FD9%u662F%u4E00%u4E32%u6587%u5B57咋一看,就感觉有点类似json格式,我们来看看标准的json格式编码同样的汉子“这是一串文字”代码如下: # encoding=utf-8 import json a = 这是一串文字 print json...

跟老齐学Python之坑爹的字符编码【图】

字符编码,在编程中,是一个让学习者比较郁闷的东西,比如一个str,如果都是英文,好说多了。但恰恰不是如此,中文是我们不得不用的。所以,哪怕是初学者,都要了解并能够解决字符编码问题。>>> name = 老齐 >>> name \xe8\x80\x81\xe9\xbd\x90 在你的编程中,你遇到过上面的情形吗?认识最下面一行打印出来的东西吗?看人家英文,就好多了>>> name = "qiwsir" >>> name qiwsir 难道这是中文的错吗?看来投胎真的是一个技术活。是的...

python中文编码问题小结【图】

中文编码问题一直是Python程序设计中很头痛的问题,本文对此较为详细的进行了总结归纳。具体如下: 当字符串是:'\u4e2d\u56fd' >>>s=[\u4e2d\u56fd,\u6e05\u534e\u5927\u5b66] >>>str=s[0].decode(unicode_escape) #.encode("EUC_KR") >>>print str 中国 当字符串是: 东亚学团一中>>>print unichr(19996) 东 ord()支持unicode,可以显示特定字符的unicode号码,如:>>>print ord(A) 65 只要和Unicode连接,就会产生Unicode字串。如...

Python中字符编码简介、方法及使用建议

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求。后来每个语言就制定了一套自己的编码,由于单字节能表...

Python连接mssql数据库编码问题解决方法

python一直对中文支持的不好,最近老遇到编码问题,而且几乎没有通用的方案来解决这个问题,但是对常见的方法都试过之后,发现还是可以解决的,下面总结了常用的支持中文的编码问题(这些方法中可能其中一个就能解决问题,也可能是多个组合)。 (1)、首先,要保证文件的开头要加上编码设置来说明文件的编码代码如下: #encoding=utf-8(2)、然后,在连接数据的连接参数里加上字符集说明查询出的结果的编码,这个不加的后果可能是...

Python中解析JSON并同时进行自定义编码处理实例

在对文件内容或字符串进行JSON反序列化(deserialize)时,由于原始内容编码问题,可能需要对反序列化后的内容进行编码处理(如将unicode对象转换为str)。 在Python中,一种方式是先使用json.load或json.loads反序列化得到dict对象,然后对这个dict对象进行编码处理。 但其实在json.load与json.loads中,有可选参数object_hook。通过使用此参数,可以对反序列化得到的dict直接进行处理,并使用处理后新的dict替代原dict返回。 使用...