pythongbk
‘壹’ python utf8 gbk 编码问题
你是不是想在python里把中文变成链接中%E5%BE%85这种形式?直接用urllib.urlencode({'word':'中文'})方法
而显示\xe5\xbe\x85\是因为你没有使用read()方法,加上后变成:'待解析网页'.decode('gbk').encode('utf-8').read(),就是你熟悉的中文了。
不过,'待解析网页'.decode('gbk').encode('utf-8')这句我要吐槽一下,网页明显是utf-8编码,你在文件开头声明utf-8编码就可以了,这一句是多余的。在这基础上读取网页直接用 '待解析网页'.read()
‘贰’ word文档出现python gbk编码怎么解决
是因为python实现爬虫遇到编码问题:error:UnicodeEncodeError: 'gbk' codec can't encode character 'xXX' in position XX。具体解决办法:
改变标准输出,添加代码。
‘叁’ python 读取gbk文件 如何打印出中文
$python3
Python3.2.3(default,Feb272014,21:33:50)
[GCC4.6.3]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>importcodecs
>>>withcodecs.open("test.txt",'r','gbk')ashandle:
...forlninhandle:
...print(ln)
...
中国
>>>withopen("test.txt",'rb')ashandle:
...ch_str=handle.read()
...
>>>ch_str
b'xd6xd0xb9xfa'
>>>print(ch_str.decode("gbk"))
中国
>>>
‘肆’ python中#coding:gbk有什么用
它是一种编码格式,简单说明是:文件说明指令来确定不同的环境进行不同的解析,与代码有关,但与代码的内容无直接关联。
其中编码格式有多种,例如常用的还有:UTF-8
GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification。GBK是汉字编码标准之一,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。
俗说的话,编码格式指定不明确的话,一般可能会有乱码出现。
‘伍’ Python处理不同编码utf8和gbk的问题
有。
使用chardet库。它会去猜测文本文件的编码,并返回形如:
编码类型:utf-8
置信度:0.9
这样的结果,也就是说chardet断定该文件有90%的可能性是utf-8编码的。
不过chardet的缺陷就是,它不能完全100%确定文件的编码类型。
目前我的做法是,如果置信度超过0.95,那么就认定chardet的判断结果是正确的。否则,再加上一些人机交互操作进行判断。
目前,chardet库官网提供的版本只适用于Python 2,如果您使用的是Python 3.x,我可以另外上传一个。
‘陆’ python write 写入为什么会报这个错'gbk'codec can't encode character \xbb'i
使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的。 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,该有的编码都试遍了,可是编译的时候仍然出现: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX。 崩溃了。
在windows下面编写python脚本,编码问题很严重。
将网络数据流写入文件时时,我们会遇到几个编码:
1: #encoding='XXX' 这里(也就是python文件第一行的内容)的编码是指该python脚本文件本身的编码,无关紧要。只要XXX和文件本身的编码相同就行了。 比如notepad++ "格式"菜单里面里可以设置各种编码,这时需要保证该菜单里设置的编码和encoding XXX相同就行了,不同的话会报错
2:网络数据流的编码 比如获取网页,那么网络数据流的编码就是网页的编码。需要使用decode解码成unicode编码。
3:目标文件的编码 要将网络数据流的编码写入到新文件,那么我么需要指定新文件的编码。写文件代码如:
复制代码代码如下:
f.write(txt)
,那么txt是一个字符串,它是通过decode解码过的字符串。关键点就要来了:目标文件的编码是导致标题所指问题的罪魁祸首。如果我们打开一个文件:
复制代码代码如下:
f = open("out.html","w")
,在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流txt,然而txt此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,改变目标文件的编码:
复制代码代码如下:
f = open("out.html","w",encoding='utf-8')
‘柒’ Python2.7为什么Utf-8到GBK会变成乱码
程序没缩进,看着费劲!
#coding=utf-8
defrespeak():
cText=u'中文'#pyperclip.paste()
print(cText)
printrepr(cText)
print(' Afterencode:')
gbk_text=cText.encode('gbk')
print(gbk_text)
printrepr(gbk_text)
print(' Afterdecode:')
real_text=gbk_text.decode('gbk')
print(real_text)
printrepr(real_text)
if__name__=='__main__':
respeak()
[willie@localhost pys]$ python2.7 speak.py
中文
u'u4e26587'
After encode:
���
'xd6xd0xcexc4'
After decode:
中文
u'u4e26587'
‘捌’ python 判断一个字符能否用gbk和utf8编码
使用chardet库。它会去猜测文本文件的编码,并返回形如:
编码类型:utf-8
置信度:0.9
这样的结果,也就是说chardet断定该文件有90%的可能性是utf-8编码的。
不过chardet的缺陷就是,它不能完全100%确定文件的编码类型。
目前我的做法是,如果置信度超过0.95,那么就认定chardet的判断结果是正确的。否则,再加上一些人机交互操作进行判断。
目前,chardet库官网提供的版本只适用于Python 2,如果您使用的是Python 3.x,我可以另外上传一个。
‘玖’ python 写文件怎么写gbk编码的文件
open('文件名','wt',encoding='gbk')
用这样就可以了,加一个encoding参数就行了
‘拾’ python gbk 编码:'gbk'codec can't decode byte 0x81 in position 18
“xxx”.decode('gbk')就可以了。你的可以是 eachline.decode('gbk')
不过word文档是有结构的二进制文件,并非文本文件,最好用com接口操纵,你这种处理方法是错误的