`

python编码相关

阅读更多
http://blog.csdn.net/lwl_ls/archive/2007/08/21/1753284.aspx
http://blog.csdn.net/tingsking18/archive/2009/03/29/4033645.aspx
http://news.quickbest.com.cn/html/62/t-38962.html
http://ipie.blogbus.com/logs/19379694.html

1 python代码文件的编码
py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character。需要在代码文件的第一行或第二行添加编码指示:
# coding=gbk
print '中文'


2 字符串的编码
像上面那样直接输入的字符串是按照代码文件的编码来处理的,如果是unicode编码,有以下三种方式:
s1 = u'中文'
s2 = unicode('中文','gbk')
s3 = s1.decode('gbk')


unicode是一个内置函数,第二个参数指示源字符串的编码格式。
decode是任何字符串具有的方法,将字符串转换成unicode格式,参数指示源字符串的编码格式。
encode也是任何字符串具有的方法,将字符串转换成参数指定的格式。

3 系统的默认编码
对 于中文系统来说,默认的是gbk,gb2312也可以,因为它是gbk的字集。使用print输出时,字符串会被转换成此格式,隐式转换时,是从代码文件 编码格式转换成gbk,默认是ASCII->GBK。考虑上面第二点,如果字符串编码不是ASCII,则隐式转换会出错,需要显式转换,使用 encode方法。如果指定了代码文件格式为gbk,则隐式转换不存在问题。
# coding=gbk
s = u'中文'
print s.encode('gbk')


文件读写
只是ASCII或者gbk编码格式的的文件读写,比较简单,读写如下:
# coding=gbk
f = open('c:/intimate.txt','r') # r 指示文件打开模式,即只读
s1 = f.read()
s2 = f.readline()
s3 = f.readlines() #读出所有内容
f.close()

f = open('c:/intimate.txt','w') # w 写文件
f.write(s1)
f.writelines(s2) # 没有writeline
f.close()



f.writelines不会输出换行符。
unicode文件读写:

# coding=gbk
import codecs

f = codecs.open('c:/intimate.txt','a','utf-8')
f.write(u'中文')
s = '中文'
f.write(s.decode('gbk'))
f.close()

f = codecs.open('c:/intimate.txt','r','utf-8')
s = f.readlines()
f.close()
for line in s:
    print line.encode('gbk')



获取系统编码
#!/usr/bin/python
#coding=utf-8
'''
        获取系统默认编码
'''

import sys
print sys.getdefaultencoding()
print sys.getfilesystemencoding()

import locale
print locale.getdefaultlocale()
分享到:
评论

相关推荐

    PEP8Python 编码规范

    标题“PEP8 Python编码规范”指出,接下来的内容会涉及将Python代码从英文注释和文档转变成中文注释和文档的数据规范。这实际上是有关代码国际化和本地化的问题,不过,原文提到的“将Python的英文编码变成中文的...

    Python编码规范(Google)

    ### Python编码规范详解(基于Google风格指南) #### 一、概览 Python作为一种广泛使用的高级编程语言,其编码规范对于确保代码的可读性和一致性至关重要。Google作为业界领先的公司之一,发布了一份详细的Python...

    google的python编码规范.pdf

    Google Python 编码规范 本文档是 Google 公司的 Python 编码规范,旨在为 Python 程序员提供一个详细的编码风格指南。该指南涵盖了 Python 语言规则、 Python 风格规则、代码编写风格、注释、类、字符串、TODO ...

    Python编码规范.pdf

    Python 编码规范 Python 编码规范是指在编写 Python 代码时需要遵守的一系列规则和约定,以确保代码的可读性、可维护性和一致性。该规范涵盖了代码的布局、缩进、空格、行的最大长度、空行、编码、导入、空格等方面...

    Shannon_Python香农编码_python_shannon_香农编码_

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

    python编码规范.pdf

    适用于初学者的python规范。 “没有规矩不成方圆”。编程工作往往是一个团队协同进行,我们写出来的代码最终可能要提供给同事或其他人阅读,因而我们迫切需要一份一致的编码规范,以提高组内代码的可读性,同时加强...

    PEP8 Python编码规范

    PEP8是Python编程语言的官方编码规范,它由Python的核心开发者Guido van Rossum、Barry Warsaw和Nick Coghlan等人撰写和维护,最初于2001年发布。PEP是Python Enhancement Proposals的缩写,意为Python增强提案。PEP...

    python实现算术编码

    在这个Python实现中,我们将深入探讨算术编码的基本原理、Python编程实现的关键步骤以及如何进行编码和解码。 1. **算术编码的基本概念** 算术编码的核心思想是将输入符号的概率分布转化为一个连续的区间,通过...

    PEP8Python编码规范.pdf

    "PEP8 Python 编码规范" PEP8 是 Python 官方提供的一份编码规范指南,旨在提高 Python 代码的可读性、可维护性和可重用性。本文档将对 PEP8 中的各种规范进行详细解释和总结。 缩进和换行 PEP8 规定使用 4 个...

    Python 编码规范(Google) _ 菜鸟教程.pdf

    Python编码规范(Google)是由Google公司所提出的Python编程风格指南,旨在提高代码的可读性和一致性。这个规范并非由Google官方直接创建和维护的项目,而是由国内程序员基于对Google风格的喜爱而创建和维护。本文档...

    Python开发编码规范

    以下是关于Python编码规范的一些关键点: 1. **命名规则**: - 变量、函数、类名应使用小写字母和下划线组合,如`my_variable`,`function_name`,` MyClass`。 - 常量应全大写,单词间用下划线分隔,如`MY_...

    python编码规范.txt

    ### Python编码规范详解 #### 一、概述 Python作为一种广泛使用的高级编程语言,其编码规范对于提高代码可读性、可维护性和团队协作至关重要。本文档基于“python编码规范.txt”这一资料,深入探讨了Python编程的...

    python编码规范.ppt

    python编码规范,基础学习知识,喜欢的来哦

    Python编码规范

    Python编码规范

    Python PEP8编码规范中文版

    PEP8编码规范,全称为“Style Guide for Python Code”,是由Python社区制定的一套编程风格指南,旨在提高Python代码的可读性和一致性。自2001年首版发布以来,经过多次修订和完善,PEP8已成为Python编程中普遍遵循...

    Google Python Style Guide中文版(Google Python编码规范)

    网上找到的Goolge Python编码规范。包含两个版本,Google Python Style Guide中文版_li3p.pdf,Google-python-style-guide中文版_guoqiao.pdf。两份文档内容基本一致,guoqiao翻译的格式比较好,带详细书签。

    python编码规范

    ### Python编码规范详解 #### 背景介绍 Python作为一种广泛应用的高级编程语言,在软件开发、数据科学、网络爬虫等多个领域发挥着重要作用。为了提高代码的可读性、可维护性和一致性,遵循一定的编码规范变得尤为...

    Python编码器RotUnicode.zip

    RotUnicode 是一个 Python 的编码器可将 ASCII 字符串转成 Unicode 并保留非 ASCII 字符的可读性。 示例代码: >>> import codecs >>> from box.util.rotunicode import RotUnicode >>> codecs.register...

Global site tag (gtag.js) - Google Analytics