`

Python 使用 UTF-8 编码

阅读更多
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.


原文出处:http://blog.chenlb.com/2010/01/python-use-utf-8.html

一般我喜欢用 utf-8 编码,在 python 怎么使用呢?

1、在 python 源码文件中用 utf-8 文字。一般会报错,如下:

File "F:\workspace\psh\src\test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file F:\workspace\psh\src\test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details


test.py 的内容:

print "你好";  


如果要正常运行在 test.py 文件前面加编码注释,如:

#!/usr/bin/python2.6   
# -*- coding: utf-8 -*-   
print "你好" 


2、
python 对 url encode UTF-8 怎么做呢?

windows 的命令行参数转 utf-8 怎么做呢?

代码:

# -*- coding: utf-8 -*-   
import urllib   
import sys   
 
if __name__ == '__main__':   
    if len(sys.argv) > 1:   
        str = sys.argv[1]   
        str = unicode(str, 'gbk')   
    else:   
        str = "中文"  
  
    print str   
    params = {}   
    params['name'] = str.encode("UTF-8")   
  
    print urllib.urlencode(params)


python 内部是用 unicode 吧。

由于 windows 的命令行输入的是 GBK 编码的,可以要先转为 unicode(第三8行)。

要转 url encode 时,先把 str 转为 utf-8。

默认的输出结果:

中文
name=%E4%B8%AD%E6%96%87

写 python 脚本来做写小事情方便,比如要取些 solr 的数据,solr 的 url 编码是 utf-8 的。

参考:http://evanjones.ca/python-utf8.html


分享到:
评论

相关推荐

    中文字符 UTF-8 编码查询表

    为大家提供Python的UTF-8编码查询表,大家可以对照左列的编码查询右列的汉字。 例:\u4e00对应汉字“一”

    判断文本文件是否为UTF-8编码

    在IT领域,文本文件的编码方式对于正确地读取和处理文本至关重要。UTF-8是一种广泛使用的字符编码标准,能够表示...在实际开发中,我们应该养成良好的编码习惯,尽量使用标准的UTF-8编码,以减少潜在的兼容性问题。

    utf-8编码转换工具.zip

    该程序支持.c .h .cpp .hpp .bat .java等6种格式的文件编码转换,如果需要添加其他格式的文件,直接修改suffix的条件判断处的语句即可,压缩包中提供exe程序和python写的源码

    批量将文件编码方式由ansi转为utf-8

    标题"批量将文件编码方式由ansi转为utf-8"涉及到的是一个文件处理任务,即转换大量以ANSI编码存储的文件到UTF-8编码。这通常是由于ANSI编码不支持某些非英文字符,或者在跨平台交互时可能会遇到问题,而UTF-8编码则...

    xml.rar_UTF XML_UTF-8编码_utf_utf-8_xml utf-8

    在"xml.rar_UTF XML_UTF-8编码_utf_utf-8_xml utf-8"这个压缩包中,我们主要探讨的是与XML文档相关的编码问题,特别是UTF-8编码。 UTF-8是一种广泛使用的Unicode字符编码方案。它能够表示Unicode标准中的所有字符,...

    utf-8 ansi 字符互转 工具

    UTF-8和ANSI是两种常见的字符编码标准,它们各自有其特点和适用场景。本文将深入探讨UTF-8与ANSI字符编码的区别、转换方法以及相关工具。 首先,让我们了解这两种编码的基本概念: 1. **UTF-8**:全称为“Unicode ...

    emoj表情对应的utf-8编码

    本主题主要探讨“emoj表情对应的utf-8编码”以及如何将iOS传来的emoj码转换为表情图。 UTF-8是一种广泛使用的Unicode字符编码,它可以表示Unicode字符集中所有的字符,包括emoj。每一个emoj都有其特定的Unicode值,...

    utf-8 互转 gb2312 转码

    首先,我们需要将UTF-8编码的字符串解码为Unicode,然后将Unicode转换为GB2312编码。反之,从GB2312转到UTF-8也是同样的逻辑,只是方向相反。 在Python编程语言中,我们可以使用`encode()`和`decode()`方法进行转码...

    Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

    ### Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题 #### 一、背景介绍 在处理包含非英文字符的数据时,尤其是使用 Python 的 `csv` 模块来操作 CSV 文件时,可能会遇到字符编码问题,导致中文等非英文...

    UTF-8编码转GBK编码

    本主题聚焦于“UTF-8编码转GBK编码”,这是一个常见的需求,特别是在嵌入式系统如单片机中,由于资源限制,可能需要将UTF-8编码的字符串转换为GBK编码以便正确显示中文字符。 首先,我们要理解UTF-8和GBK这两种编码...

    文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具

    文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具

    UNICODE与UTF-8转换

    **二、UTF-8编码** UTF-8是一种变长的Unicode转换格式,它将UNICODE码点转换为可变长度的字节序列。UTF-8的优势在于其对ASCII字符的兼容性:英文和其他使用ASCII字符的语言,如大部分编程语言,只需要1个字节表示,...

    Python应用开发-文件编码.pptx

    例如,如果我们将文件编码为GBK,而读取文件时使用UTF-8编码,那么就会出现乱码。 为了避免乱码,我们需要在读取文件时指定正确的编码。例如,fobj=open("c:\\abc.txt","rt",encoding="utf-8"),这样可以正确地读取...

    Python使用pandas读取csv文件支持utf-8和gbk编码自动识别

    Python 简单使用 pandas 读取excel 的 csv文件处理,支持utf-8和gbk编码自动识别。

    ASCII 及UTF-8 与字符互相转换

    此时,就需要将UTF-8编码的文本转换为ASCII,但这通常意味着非ASCII字符将被替换为问号或其他替代字符,因为ASCII没有对应的空间来表示这些字符。 另一方面,如果你有ASCII编码的文本,但需要在支持多语言的环境中...

    UTF-8与GB与 Big5之间的转换

    UTF-8编码的一个特点是,英文和很多常用汉字只用一个字节表示,而复杂的字符则可能需要多个字节。这样既能节省空间,又能保证跨平台的兼容性。 GBK(或GB2312)是中国大陆的国家标准,它是基于早期的GB18030的简化...

    批量utf文件转utf8-bom

    "批量utf文件转utf8-bom"这个主题指的是将一批以UTF编码的文件转换为带有BOM(Byte Order Mark)的UTF-8编码。BOM是一个特殊的字节序列,用于标识文件的编码类型,对于UTF-8编码,BOM的字节序列为0xEF, 0xBB, 0xBF。...

    UTF-8.rar_utf_utf gb2312_utf 转换_utf-8_utf-8解码

    例如,读取一个UTF-8编码的文本文件,可以使用以下Python代码: ```python with open('file.txt', 'rb') as file: content_bytes = file.read() content_str = content_bytes.decode('utf-8') ``` 这段代码中,`...

    gb2312编码转utf-8编码

    3. **转换编码**:使用编程语言提供的函数或库,如Python的`codecs`模块,将GB2312字节序列解码为Unicode字符串,再将该字符串按照UTF-8编码规则重新编码为字节序列。 4. **写入新文件**:最后,将转换后的字节序列...

    UTF-8编码转BIG5、gb2312

    例如,一个使用UTF-8编码的网站可能需要与使用GB2312编码的数据库交互,或者一个BIG5编码的文本文件需要在UTF-8环境下打开。不正确的编码可能导致乱码问题,使得文本无法正确读取。 编码转换的方法有很多,包括使用...

Global site tag (gtag.js) - Google Analytics