Python 中文乱码问题的分析的具体方案介绍

开发 后端
本文主要介绍的是Python 中文乱码问题的分析。如果你在计算机语言中遇到相关的问题时,你就可以浏览我们的我文章对其进行了解。

以下是关于Python 中文乱码问题的分析,通过建立文件,以用文件中的python去读取,以及相关代码示例,以下的文章就是对Python 中文乱码的解决方案,以下是文章的具体介绍,望你会有所收获。

建立一个文件test.txt,文件格式用ANSI,内容为:abc中文用python来读取

 

  1. coding=gbk 
  2. print open("Test.txt").read()  
  3.  

 

结果:abc中文把文件格式改成UTF-8这里需要解码:

 

  1. coding=gbk 
  2. import codecs  
  3. print open("Test.txt").read().decode("utf-8")  
  4.  

 

结果:abc中文上面的test.txt我是用Editplus来编辑的,但当我用Windows自带的记事本编辑并存成UTF-8格式时,运行时报错:

 

  1. Traceback (most recent call last):  
  2. File "ChineseTest.py", line 3, in   
  3. print open("Test.txt").read().decode("utf-8")  
  4. UnicodeEncodeError: 'gbk' codec can't encode 
    character u'\ufeff' in position 0: illegal multibyte 
    sequence  
     

 

原来,某些软件,如notepad,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:

 

  1. coding=gbk 
  2. import codecs  
  3. data = open("Test.txt").read()  
  4. if data[:3] == codecs.BOM_UTF8:  
  5. datadata = data[3:]  
  6. print data.decode("utf-8")   

 

结果:abc中文

【编辑推荐】

  1. Python数据结构如何进行内建详解
  2. 对python脚本语言在实际应用的优点介绍
  3. 对Python编程语言历史发展的介绍
  4. Python矩阵转置的实际应用操作方案与代码详解
  5. Python环境的实际应用方案介绍与代码详解
责任编辑:佚名 来源: 博客园
相关推荐

2010-03-12 15:00:52

Python中

2010-05-17 14:49:43

MySQL中文乱码

2010-06-02 16:36:38

连接MySQL中文乱码

2010-03-25 17:10:42

Python设置环境

2010-03-15 08:48:38

Python编辑器

2010-11-09 17:09:23

SQL Server中

2010-05-12 16:47:54

MySQL 中文乱码

2010-06-07 11:13:46

MySQL中文乱码

2010-05-27 12:49:30

MySQL中文乱码

2009-06-30 17:26:56

JSP页面

2010-06-07 10:23:34

MySQL GUI T

2010-03-24 10:06:37

Python嵌入C++

2011-12-21 14:46:26

JavaJFreeChart

2010-05-17 14:36:11

2011-08-08 10:29:12

MySQL

2010-05-17 09:49:46

MySQL中文问题

2010-05-28 15:37:36

MySQL中文显示

2010-03-23 16:16:21

Python文件

2009-11-26 16:30:52

Suse中文乱码问题

2011-02-24 10:48:51

FireFTP
点赞
收藏

51CTO技术栈公众号