`
jinheking
  • 浏览: 78013 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

python中的编码问题

阅读更多


python 中的字符集设定问题
python默认的编码是ascii,为改变默认编码,在文件的第一行,或者紧挨"#!"所在行的后面添加
# -*- coding: codetype -*-
codetype 可以是已经识别的一种,中文下,可以是 gbk,gb2312,gb18030,big5,需要相应的库支持

显示问题
ss="python问题"
str(ss)
'python\xce\xca\xcc\xe2'
repr(ss)
"'python\\xce\\xca\\xcc\\xe2'"
后者表示ss的存储格式
print ss
则会将ss解码,输出“python问题”


python 中的编码转码问题
print str.decode.__doc__
S.decode([encoding[,errors]]) -> object

Decodes S using the codec registered for encoding. encoding defaults
to the default encoding. errors may be given to set a different error
handling scheme. Default is 'strict' meaning that encoding errors raise
a UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
as well as any other name registerd with codecs.register_error that is
able to handle UnicodeDecodeErrors.

按照指定的编码类型给字符串解码,解码后的编码为默认编码
errors指定处理错误的行为
如果出错了,不需要报告,设定errors ="ignore"
默认报告任何错误
errors = 'strict' , Raise UnicodeError (or a subclass); this is the default.
errors="replace" ,错误的编码用"?"替换

print str.encode.__doc__
S.encode([encoding[,errors]]) -> object

Encodes S using the codec registered for encoding. encoding defaults
to the default encoding. errors may be given to set a different error
handling scheme. Default is 'strict' meaning that encoding errors raise
a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and
'xmlcharrefreplace' as well as any other name registered with
codecs.register_error that is able to handle UnicodeEncodeErrors.

...

errors ='xmlcharrefreplace' ,使用XML的字符引用 (only for encoding).
errors = 'backslashreplace' Replace with backslashed escape sequences (only for encoding).

将一个串从gb2312转成'utf8'
ss.decode("gb2312","ignore").encode("utf-8")


print unicode.__doc__
unicode(string [, encoding[, errors]]) -> object

Create a new Unicode object from the given encoded string.
encoding defaults to the current default string encoding.
errors can be 'strict', 'replace' or 'ignore' and defaults to 'strict'.

分享到:
评论

相关推荐

    python 中文乱码 问题深入分析.docx

    在 Python 中,中文乱码问题一直是一个让人头疼的问题,经常抛出编码转换的异常。那么,Python 中的 str 和 unicode 到底是什么东西呢? 首先,Python 中的 unicode 指的是 unicode 对象。例如,u'/u54c8/u54c8' ...

    python 中文乱码问题深化分析.docx

    Python 中文乱码问题深化分析 在 Python 中,中文编码一直是一个极为头大的问题,经常抛出编码...Python 中的中文编码问题需要我们正确地理解 str 和 unicode 的概念,并正确地使用编码格式和解码方式来避免乱码问题。

    Python中文乱码

    在实际开发中,Python乱码问题可能更加复杂,涉及多层编码转换。了解并熟练运用上述方法,可以有效地解决大部分乱码问题。如果遇到难以解决的乱码问题,可能需要深入理解字符编码的底层原理,或者借助一些专门的库,...

    python解决中文乱码问题

    解决python中文乱码问题、首先发送请求,然后将请求返回的值传到coding(req)函数。

    python学习教程,如何解决Python中文编码乱码问….docx

    本文将详细介绍如何解决Python中的中文编码问题,并给出具体的解决方案。 #### 二、Python中的默认编码 Python中有两种主要版本:Python 2 和 Python 3。这两个版本在处理中文编码方面有所不同: 1. **Python 2**...

    Python中文乱码详解.rar

    在Python编程语言中,处理中文字符时可能会遇到乱码问题,这是由于编码和解码的不一致导致的。本文将详细解析Python中的中文乱码问题,帮助你理解其原理并提供解决方案。 首先,我们需要理解编码与解码的概念。编码...

    Python中文乱码详解.pdf

    Python中的中文乱码问题主要源于字符编码的理解和处理不当,这是许多程序员在处理文本数据时面临的挑战。在Python 2和Python 3中,字符编码的处理方式有所不同,增加了问题的复杂性。本文将深入探讨Python中处理中文...

    20180530_Python编码及中文乱码1

    Python 编码与解码详解 编码是将可读的字符转换为计算机内部表示的过程,而解码则是相反的过程,即将计算机内部的表示转换回可读的字符。...正确处理编码问题可以避免字符乱码,提高程序的兼容性和稳定性。

    解决c++调用python中文乱码问题

    总结来说,要解决C++调用Python时的中文乱码问题,关键在于理解两种语言之间的编码差异,并确保在数据传递过程中进行适当的编码转换。在本例中,我们通过编写GBK到UTF-8的转换函数,成功地使C++能够正确地向Python...

    python OpenCV imshow()中文乱码问题解决方法之一

    python OpenCV imshow()中文乱码问题解决方法之一

    linux下python中文乱码解决方案详解

    在Linux环境下,Python程序处理中文字符时经常遇到乱码问题,这主要涉及到编码设置和字体配置。本篇文章将深入探讨如何解决Linux下Python中文乱码的常见问题,并提供实际操作的解决方案。 首先,问题通常出现在当...

    python避免中文乱码的代码.docx

    Python是一种广泛使用的编程语言,但在处理中文字符时可能会遇到乱码问题。这主要是因为Python的默认内部编码是ASCII,不支持...通过上述方法,可以有效地避免Python中的中文乱码问题,从而实现顺畅的中文字符处理。

    Shannon_Python香农编码_python_shannon_香农编码_

    在Python中实现香农编码,首先需要统计字符的出现频率,这可以通过构建一个字典来完成。例如,遍历文本文件,对每个字符进行计数,得到一个键为字符、值为频率的字典。接着,可以使用哈夫曼树(也称为最优二叉树)来...

    解决Python3用PIL的ImageFont输出中文乱码的问题

    今天在用python3+ImageFont输出中文时,结果显示乱码 # coding:utf-8 from PIL import Image, ImageDraw, ImageFont image= Image.new('RGB', (559, 320),(255,255,255)) draw = ImageDraw.Draw(image) # draw.text...

    python中的utf问题

    针对Eclipse中Python中文编码问题,可以通过以下几种方式解决: 1. **项目默认编码设置** - 路径:`aùռ룺->ѡ->ռ->UTF-8` - 解释:打开Eclipse,选择“Window”菜单下的“Preferences”选项,再选择“General...

Global site tag (gtag.js) - Google Analytics