python查看編碼
A. python 讀取文本里有多種編碼
讀取ANSI編碼文件
建立一個文件test.txt,文件格式用ANSI,內容為:
abc中文
用Python來讀取
# coding=gbk
print open("Test.txt").read()
結果:abc中文
讀取utf-8編碼文件(無BOM)
把文件格式改成UTF-8:
結果:abc涓 枃
顯然,這里需要解碼:
# -*- coding: utf-8 -*-
import codecs
print open("Test.txt").read().decode("utf-8")
結果:abc中文
讀取utf-8編碼文件(有BOM)
某些軟體在保存一個以UTF-8編碼的文件時,默認會在文件開始的地方插入三個不可見的字元(0xEF 0xBB 0xBF,即BOM)。在有些軟體可以控制是否插入BOM。如果在有BOM的情況下,在讀取時需要自己去掉這些字元,python中的codecs mole定義了這個常量:
B. python怎麼查看字元串編碼
安裝chardet模塊
chardet文件夾放在/usr/lib/python2.4/site-packages目錄下版
[root@sha-sso-data01 chardet]# python
Python 2.4.3 (#1, Sep 21 2011, 19:55:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import chardet
>>> chardet.detect("我權")
{'confidence': 0.505, 'encoding': 'utf-8'}
>>>
C. python中如何獲取中文的utf8編碼
首先要表示一個漢字,至少需要2個位元組碼
如果需要以utf解碼你的內漢字,可以用如下辦法容
>>>unicode('人','utf-16')
u'ucbc8'
如果需要以gbk解碼你的漢字,可以用如下辦法
>>>unicode('人','gbk')
u'u4eba
D. python 如何獲取本地電腦某一文件夾下所有文件的編碼格式encoding,並將結果導出
一個文件的編碼格式並不是程序能檢測出來的
而是我們預先知道存文件的時候用了什麼編碼,讀文件的時候就要用相應的編碼
E. python列表讀取編碼的問題
這個復結果不是什麼編碼,而是 list 的表示制形式
1. 對於一個不是 str 的 obj, print obj 等價於 print str(obj)
2. str(obj) 的等價形式是 obj.__str__()
3. 對於 list 類型, __str__ 的定義是 '[%s]' % ', '.join(repr(i) for i in self)
(每個元素的 repr 值拼接起來)
4. 對於 unicode 對象, repr 形式為
printrepr(u'中文')
>>u'u4e26587'
所以
array=[u'中文',u'中文',u'中文']
printarray
>>[u'u4e26587',u'u4e26587',u'u4e26587']
print'[%s]'%','.join(repr(i)foriinarray)
>>[u'u4e26587',u'u4e26587',u'u4e26587']
而
printu'中文'
>>中文
printstr(u'中文')
>>中文
array=[u'中文',u'中文',u'中文']
print'[%s]'%','.join(array)
>>[中文,中文,中文]
F. python怎樣查看當前字元串的編碼格式
查看當前字元抄串的編碼格式的代碼為:Type "now", "right", "credits" or "license" for more information.
G. python里如何讓判斷輸入的編碼是什麼比如,如果輸入中文則判斷為GB2312
中文不一定是gb2312也可能是utf8或者其他編碼。
如果要判斷字元串的編碼類型目前而言並沒有很好的辦法,有一個chardet 的包可以用來判斷字元串編碼你可以找找。
H. 怎麼知道Python Shell的編碼是什麼
解決方法:使用sys.stdout.encoding;sys.stdin.encoding
示例:
impotsys
sys.stdout.encoding
結果專:屬
I. python用什麼找到字元編碼
安裝來chardet模塊自
chardet文件夾放在/usr/lib/python2.4/site-packages目錄下
[root@sha-sso-data01 chardet]# python
Python 2.4.3 (#1, Sep 21 2011, 19:55:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import chardet
>>> chardet.detect("我")
{'confidence': 0.505, 'encoding': 'utf-8'}
>>>