- 浏览: 2159441 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#@author zcwang3@gmail.com
#@version 2010-09-07 11:22
# 原始字符串
rstr = r " 编码 "
# 普通字符串
str = " 编码 "
#Unicode 字符串
ustr = u " 编码 "
# 用 utf-8 编码把 str 转换为 unicode
utf8ToUnicodeStr=str.decode( 'utf-8' )
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果: UnicodeDecodeError( 命令行中默认使用的是 windows 系统的 gbk 编码, str 就是使用 gbk 编码的字符串,使用 utf-8 解码时部分字节值超出 utf-8 范围,系统错误 )
# 用 gbk 编码把 str 转换为 unicode
gbkToUnicodeStr=str.decode( 'gbk' )
rstr
str
ustr
utf8ToUnicodeStr
gbkToUnicodeStr
print len(rstr)
在 pydev 中的运行结果: 6 (显示:文件头部声明的 utf-8 编码起作用,并且 1 个汉字占 3 位)
在 IDLE 中的运行结果: 6 (显示:文件头部声明的 utf-8 编码起作用,并且 1 个汉字占 3 位)
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果: 4 (显示:命令行中默认编码 gbk , 1 个汉字占 3 位 )
print len(str)
在 pydev 中的运行结果: 6
在 IDLE 中的运行结果: 6
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果: 4
原始字符串和普通字符串有相同的结果
print len(ustr)
在 pydev 中的运行结果: 2
在 IDLE 中的运行结果: 2
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果: 2
通过使用 u 来标志的 unicode 字符在 3 种情况下结果一致, 1 个汉字占 2 位
print len(utf8ToUnicodeStr)
在 pydev 中的运行结果: 2 (通过正确的编码,转换成相应的 unicode 字符串)
在 IDLE 中的运行结果: 2 (通过正确的编码,转换成相应的 unicode 字符串)
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果:变量未定义
print len(gbkToUnicodeStr)
在 pydev 中的运行结果: 3 ( utf-8 声明的字符串,用 gbk 解码,结果是乱码)
在 IDLE 中的运行结果: 3
粘贴到 CMD 启动的 PYTHON 命令行中的运行结果: 2
print rstr
print str
print ustr
print utf8ToUnicodeStr
print gbkToUnicodeStr
在 IDLE 中的运行结果和通过 python + py 文件的运行结果完全一致!
Pydev 中模块的默认编码在文件头声明(没有声明就是 ascii ),控制台显示的默认编码和 文件头声明的编码 一致
IDLE 中调用时模块的默认编码在文件头声明(没有声明就是 ascii ),控制台显示的默认编码和 操作系统默认编码一致(如中文 windows 下的 gbk ) 一致
粘贴到 CMD 启动的 PYTHON 命令行中,直接声明的字符串的默认编码和命令行中显示的默认编码都是 操作系统默认编码一致(如中文 windows 下的 gbk )
结论:
1, 乱码,编码错误出现的原因:字符串 str 声明时编码为 a ,而输出(控制台显示或者写入文件,数据库等)时由于环境的不同,默认编码也不同。在不同的环境下, python 会根据各自的默认编码去解码字符串 a ,因此 出现乱码( str 对应的 a 编码的值正好都在 b 编码的取值范围内) 或者 编码错误(譬如: a 编码中有值 10000 ( 2 进制的形式),但是 b 编码的取值范围不包括 10000 ,就会出现转换错误)
2, 如果变量直接声明为 Unicode 字符,那么在不同输出环境时, python 都能正常地转换为相应的字符串
3, 通过 u 符号声明的 Unicode 字符串在上述 3 种情况下都不出现乱码, 推荐使用
4, 原始字符串和普通字符串声明的字符串的默认编码跟系统环境相关, python 命令行中默认的是操作系统的编码如 windows 的 gbk , pydev 或者 idle 中,字符串的默认编码跟文件头部声明的编码一致(如果文件头部没有声明,那么默认的是 ascii 编码)
发表评论
-
python sftp&ftp&ssh2
2012-03-06 11:29 10841ftp使用内置模块from ftplib import FTP ... -
python 子进程Subprocess & windows cmd当前目录和python当前目录的区分
2012-03-05 10:28 10958maven命令执行的时候,需要先到project目录,然后再执 ... -
用python分析nginx的access日志
2011-04-13 13:52 15069项目正式发布后,有需求要分析下nginx的access日志内容 ... -
(转)python 函数参数的传递(参数带星号的说明)
2011-03-18 15:09 1405转自 andylin02的博客 python中函数参数的传递 ... -
ConfigParser读取记事本修改后的配置文件出错问题解决
2010-12-23 10:42 13147使用ConfigParser来读取系统配置文件,当把py2ex ... -
把图片列表合成一个GIF动画图片
2010-12-14 10:04 2597import os from PIL import Im ... -
LOB variable no longer valid after subsequent fetch
2010-12-01 10:50 5546cx_oracle读取oracle wm_concate函数操 ... -
pydev打包后的程序运行报【没有找到 MSVCP71.dll】的错误
2010-11-19 11:44 1763今天把用pydev打包后的程序放到一台新的Windows 20 ... -
客户端机器TCP端口被占满导致mysql报Can't connect to MySQL server on 'computername' (10048)
2010-11-17 16:22 5599用python程序读取csv数据,然后通过MySQLdb模块插 ... -
Python WindowsError
2010-10-28 10:02 11142WindowsError: [Error 2] The sy ... -
PIL使用过程中的异常处理
2010-10-22 14:45 19538IOError: cannot identify image ... -
用python给文件夹下所有图片进行缩放处理
2010-10-20 17:17 6161#! /usr/bin/env python # -* ... -
http代理测速程序
2010-10-18 16:45 6406从网上找到很多代理地址,用来访问目标网站,访问目标网站速度不一 ... -
python连接oracle
2010-09-29 13:39 8238windows下使用python连接oracle(10.2.0 ... -
python处理csv数据
2010-09-26 15:33 37272import csv #从文件读取 reader ... -
python文件夹复制
2010-09-25 14:58 5333需求:复制1个10多个G的文件夹(另外机器共享过来的文件夹,里 ... -
windows下python包chardet安装说明&python第三方包安装卸载
2010-09-19 10:59 2648BeautifulSoup使用过程中需要使用到chardet来 ... -
用py2exe安装python windows服务
2010-09-17 16:29 5925使用模块:pywin32,py2exe #运行安装程序 ... -
Python generator和yield
2010-09-11 20:55 3705generator产生器:a Python generator ... -
python gc回收和性能优化
2010-09-11 20:31 2941psyco 脚本的执行效率多少有点差强人意,虽然优化 ...
相关推荐
python.pydevpython.pydevpython.pydevpython.pydevpython.pydevpython.pydev eclipse启动时须 带-clean 须设置Python的环境变量
8. **多语言支持**:除了Python,PyDev还支持Jython和IronPython,这意味着你可以在同一环境中开发Python的Java和.NET实现。 9. **版本控制集成**:PyDev与其他版本控制系统(如Git、SVN)无缝集成,方便代码版本...
org[1].python.pydev.feature-1.4.6.2788.zip org[1].python.pydev.feature-1.4.6.2788.zip org[1].python.pydev.feature-1.4.6.2788.zip 正在使用。。。。
标题提到的“eclipse python插件 pydev6.5”,正是PyDev的6.5版本,它提供了一系列高级特性,旨在提升开发者在Eclipse环境中的编程体验。 PyDev 6.5版本的核心特性包括: 1. **代码完成**:PyDev提供了智能的代码...
"org.python.pydev.feature-1_3_24.zip" 是一个与Python开发相关的压缩包文件,主要用于Eclipse集成开发环境(IDE)。PyDev是Eclipse的一个插件,它为Python开发者提供了强大的支持,包括代码编辑、调试、语法高亮、...
PyDev是Eclipse社区的成员之一,由Fabio Zadrozny维护,旨在为Python开发提供完整的IDE解决方案。PyDev 7.3.0是该插件的一个版本,它支持Python 3.x版本,这在Python逐渐过渡到主要支持3.x系列的背景下显得尤为重要...
PyDev是Eclipse平台上的一个优秀Python开发工具,其强大的功能和良好的集成性让Python开发者能在一个统一的环境中进行高效的开发工作。了解和掌握PyDev的使用,将极大地提升你的Python编程体验。在实际应用中,根据...
PyDev是Eclipse中的一个强大的Python开发插件,它为Python开发者提供了丰富的功能,使得在Eclipse中编写、调试和管理Python项目变得极其便捷。 **PyDev 插件的主要功能** 1. **代码编辑器**: PyDev提供了一个智能...
PyDev就是这样一个插件,专门为在Eclipse中开发Python项目而设计。本文将详细介绍如何配置Eclipse以使用PyDev进行Python开发,以及离线安装Pydev插件的方法。 首先,让我们了解PyDev。PyDev是Eclipse的一个扩展,由...
PyDev使得Python程序员能够在Eclipse这个强大的平台上享受到代码编辑、调试、自动化重构以及项目管理等一系列专业功能。 首先,PyDev插件提供了智能代码补全功能,这使得在编写Python代码时,能够自动提示类、方法...
Python PyDev与Django是两个在IT领域中非常重要的开源工具,它们分别是Python开发环境和一个流行的Web框架。PyDev是Eclipse IDE的一个扩展,它为Python开发提供了强大的支持,而Django则是一个用Python编写的高效、...
《Python for Eclipse PyDev 4.5.5:探索高效Python开发的新里程》 Python for Eclipse PyDev是一款专为Eclipse集成开发环境(IDE)设计的Python开发插件,其最新版本4.5.5提供了丰富的功能,旨在提升Python开发者的...
7. **集成单元测试**:PyDev支持Python的unittest框架,允许用户在Eclipse环境中编写、运行和管理单元测试。 8. **集成版本控制系统**:PyDev与常见的版本控制系统(如Git、SVN等)集成,方便进行代码版本管理和...
在开发Python项目时,集成开发环境(IDE)的选择至关重要,MyEclipse作为一款强大的Java IDE,通过安装Python插件PyDev,可以扩展其功能,支持Python语言的开发。本文将详细介绍如何在MyEclipse中安装PyDev插件,并...
在众多的Python集成开发环境中,Eclipse与PyDev的组合以其强大的功能和高度的可定制性赢得了广大开发者们的喜爱。PyDev是Eclipse的一个插件,专门用于Python和Jython的开发,其最新版本PyDev 5.9.2更是提升了开发...
在众多的Python集成开发环境(IDE)中,Eclipse与PyDev的组合以其强大的功能和高度可定制性深受开发者喜爱。PyDev是Eclipse的一个开源插件,专为Python、Jython和IronPython的开发提供支持。本文将深入探讨PyDev ...
Python 2.7、PyDev 和 py2exe 是在 Python 开发中经常使用的三个关键工具。这个压缩包可能包含了这些工具的32位版本,适用于那些仍需在32位系统上运行Python项目的用户。 首先,让我们分别了解这三个组件: 1. **...
安装过程中,确保勾选“Add Python to PATH”选项,这样可以将Python添加到系统路径,方便在命令行中直接调用。 安装完成后,通过命令行输入`python --version`来验证Python是否正确安装。如果显示了正确的版本号,...
PyDev 4.5.5是这个插件的一个版本,它在Eclipse中为Python开发者提供了许多实用特性。 1. **安装与配置**:PyDev的安装通常通过Eclipse的内置软件更新器进行,用户可以在"Help" -> "Eclipse Marketplace"中搜索并...
这些功能使得Eclipse通过PyDev成为了一个全面的Python开发解决方案。 总的来说,通过安装PyDev插件,Eclipse成为了Python开发的强大平台,提供了高效、完善的开发环境。无论是初学者还是经验丰富的开发者,都可以...