Python 使用 UTF 8 編碼

2021-09-01 07:23:47 字數 1310 閱讀 5771

原文出處:[url]

一般我喜歡用 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 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 的。

參考:[url]

介紹utf8編碼

utf8並不算是一種電腦編碼,而是一種儲存和傳送的格式,如前所述,每個unicode ucs字元都以 2或4個bytes來儲存,看看以下的比較 以 i am chinese 為例 用ansi儲存 12 bytes 用unicode ucs2儲存 24 bytes 2 bytes header 用uc...

UTF8編碼 解碼

參考文件 rfc3629標準.對於任意乙個字,都可以用乙個唯一碼 unicode碼,由標準編制 表示,在應用過程中,需要對碼進行編碼.常用的編碼方式為utf 8.utf 8採用類似於ip位址分配的機制.即對於不同範圍的unicode碼,採用不同的模板進行編碼.流程概述為 2.1 查表獲取unicod...

utf8的編碼演算法

unicode字符集是我們世界上最完善最全面的字符集,幾乎包含了世界上所有的字元。其實可以這麼理解,unicode字符集是一張巨大的 把世界上各種語言的字元和標點符號都編排到裡面,然後按照一定的順序給每個字元排號 很遺憾的是對於中文來說,這個順序不是按照漢語拼音的順序 有了這張巨大的 世界上大部分字...