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