Windows下Python字符串编码问题

Python语言实际上有三种字符串,通常意义的字符串(str),Unicode字符串(unicode)和抽象类basestring,其中basestring不可实例化。

在Windows系统下的CPython解释器输入代码:

>>> st1 = ‘中文‘
>>> st1
‘\xd6\xd0\xce\xc4‘
>>> type(st1)
<type ‘str‘>
>>> st2 = st1.decode(‘gbk‘)
>>> st2
u‘\u4e2d\u6587‘
>>> type(st2)
<type ‘unicode‘>
>>> st3 = st2.encode(‘utf-8‘)
>>> st3
‘\xe4\xb8\xad\xe6\x96\x87‘
>>> type(st3)
<type ‘str‘>
>>> st4 = st2.encode(‘gbk‘)
>>> st4
‘\xd6\xd0\xce\xc4‘
>>> type(st4)
<type ‘str‘>

如果在代码中加入一句:

>>> st5 = st1.decode(‘utf-8‘)

则会报错

从上面的代码和输出我们可以得到如下结论:

1、Windows命令行输入的默认中文编码格式是gbk,输入的中文字符串类型为str

2、使用decode函数可以将一个str类型的中文字符串转成unicode类型

3、使用encode函数可以将一个unicode类型的中文字符串转成str类型

所以我们一般在进行Python脚本编写的时候,需要在脚本的开头加上如下代码:

#-*- coding:utf-8 -*-

也可以导入模块sys,设置默认编码格式:

import sys
sys.setdefaultencoding(‘utf-8‘)

PS: Python版本为python2.7

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-29 11:23:20

Windows下Python字符串编码问题的相关文章

windows下python web开发环境的搭建

windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.python.org/ftp/python/2.7/python-2.7.amd64.msi 不多说,装完后把C:\Python27加入到path环境变量里. 然后就溜溜python,看看version啦.OK,next step. 二. python web开发框架django安装 django是一个采用

windows下Python打开包含中文路径名文件

windows使用gbx(gb2312,gbk,gb18030我也不知道是哪个)对文件名及文件路径进行编码保存.打开文件的函数中使用诸如open(filename.encode('gbk'))可以很好的解决. #coding:utf8 if __name__ == '__main__': srcfile = r"D:/测试路径/测试文件.txt" f = open(srcfile.decode('utf8').encode('gbk')) for text in f.readlines

windows下python脚本程序的运行

c:\python33\python.exe c:\python33\trycoding.py windows下python脚本程序的运行,布布扣,bubuko.com

配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题

转载自:-杨博的日志 - 网易博客 Vim / gVim 在中文 Windows 下的字符编码有两个问题: 默认没有编码检测功能 如果一个文件本身采用的字符集比 GBK 大(如 UTF-8.UTF-16.GB18030),那么其中无法在 GBK 中对应的字符都会出现乱码,保存时会丢失.即使编辑文件时正确检测出文件格式也无济于事. 第一个问题的解决办法是在 ~/.vimrc 中加入以下配置: set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,eu

windows下python配置numpy、matplotlib、scipy

这两天对Python进行了研究,并且配置了numpy.matplotlib以及scipy.现对基本概念以及配置步骤介绍: 基本概念: Python (英语发音:/?pa?θ?n/), 是一种面向对象.解释型计算机程序设计语言.专用的科学计算扩展库很多,例如如下3个十分经典的科学计算扩展库:NumPy.SciPy和matplotlib,它们分别为Python提供了快速数组处理.数值运算以及绘图功能. <python科学计算>这本书中对Python介绍得很是详细,推荐下.电子版下载链接http:/

Windows 下Python操作MySQL

1.环境要求(Win7 X64): python 2.7, MySQL-python-1.2.3.win-amd64-py2.7 :http://www.codegood.com/download/11/  (有需要32位的在这个地方下载https://pypi.python.org/pypi/MySQL-python) 注意:请看清楚自己的电脑位数,如果64位的系统使用32位的安装包会报如下错误: ImportError: DLL load failed: %1 不是有效的 Win32 应用程

windows下 Python 安装包的配置

1.下载安装 Pythonpython-2.7.2.msi  http://www.python.org/download/如下载 Python 2.7.2,安装目录为 C:\Python27 2.添加环境变量path = C:\Python27此步骤可实现在命令行下,不用进入 Python 目录即可执行 python.exe 3.下载 setuptools 注意对应 Python 的版本,完成后运行 exe 即可完成安装 setuptools-0.6c11.win32-py2.7.exehtt

windows 下 python 在安装模块的时候出现”unable to find vcvarsall.bat“如何解决?

最近打算用python,写一个链接linux,执行命令并获取的数据的小工具. 在安装SSH模块时,出现错误了,“unable to find vcvarsall.bat”,在网上搜索到了一个解决方案,参考地址:http://www.crifan.com/python_mmseg_error_unable_to_find_vcvarsall_bat/ Python 2.7 会搜索 Visual Studio 2008.如果你电脑上没有这个版本的话,比如只有:1.Visual Studio 2010

python学习:Windows 下 Python easy_install 的安装

Windows 下 Python easy_install 的安装 下载安装python安装工具下载地址:http://pypi.python.org/pypi/setuptools 可以找到正确的版本进行下载.win7 32位可以下载setuptools-0.6c11.win32-py2.7.exe .注意:win7 64位必须使用ez_setup.py进行安装.方法是下载ez_setup.py后,在cmd下执行 python ez_setup.py,即可自动安装setuptools.目前没有