大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
%e7%8e%8b%e8%90%8c 是unicode编码
创新互联网络公司拥有10多年的成都网站开发建设经验,上1000家客户的共同信赖。提供成都网站设计、网站建设、网站开发、网站定制、卖链接、建网站、网站搭建、响应式网站开发、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
%CD%F5%C3%C8是GBK编码
pyth默认是unicode编码
要查对应编码可以去unicode官网查询unicode-GBK对应编码
你试试这样:
def encodesave (instr):
re = []
for i in range (0, len(instr) // 8):
a=instr[(i*8):(i*8+8)]
re.append(b'%c' % int(a,2))
return re
savecode=encodesave('10010000100100001001000010010000')
#print(savecode)
fp = open("after.txt",'wb')
for b in savecode:
fp.write(b)
fp.close()
首先变量最好别命名成str,因为有str这个函数,我就假设你用的是str0了
对于你的问题,应该是编码的问题,和split没有关系,你可以直接print str0看看。要解决问题,就是进行转码:str0=str0.decode("utf-8").encode("gbk"),然后进行str1=str0.split(),
先引入urllib模块
假如我们要对下面的url进行转码,注意观察各种字符的变化
使用quote方法,进行转码
我们看看转码得到的结果:
我们想要得到原先的url,可以使用quote的逆函数unquote
得到反转码以后的url,我们看到这种方法并没有返回中文字符。
转回去就用 str.decode(chrset)
一点解释:
python3x中
decode(chrset)解码函数,得到的都是unicode编码。
encode(chrset)编码函数,得到的是chrset对应编码的。
chrset可以是utf-8,gbk,gb2312等等各种编码。