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'}
>>>