Python 編碼問題

來源:互聯網
上載者:User
在原始碼中使用UTF-8編碼

在代碼前面添加註釋coding:utf-8 或者 # -*- coding: utf-8 -*-,如下:

__author__ = 'WebClerk'# coding:utf-8# -*- coding: utf-8 –*-

 

處理非ASCII編碼

Python的預設編碼是ascii編碼,所以無法處理其他編碼時需要設定python的預設編碼為所需要的編碼,主要有以下2個方法:

1. 具體代碼處理
import sysreload(sys)sys.setdefaultencoding('gb2312')
2. 全域設定

在Python的Lib\site-packages檔案夾下建立一個sitecustomize.py檔案(sitecustomize.py是一個特殊檔案, Python 在啟動時將嘗試載入該檔案,因此所有代碼都將運行該檔案),即可自動化佈建代碼。

import syssys.setdefaultencoding('gb2312')
3. 檢查當前編碼
import syssys.getdefaultencoding()

 

字元編碼判斷

通過chardet可以實現對字串/檔案的編碼檢測。

1. chardet的安裝

通過easy_install工具可以實現chardet的快速安裝,命令如下:easy_install.exe chardet

2. chardet的使用

chardet可以直接用detect函數來檢測所給字元的編碼。函數傳回值為字典,有2個元數,一個是檢測的可信度,另外一個就是檢測到的編碼。

import urllibimport chardetrawdata = urllib.urlopen('http://www.sina.com.cn/').read()print chardet.detect(rawdata)#result: {'confidence': 0.99, 'encoding': 'GB2312'}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.