%E6%BF%80%E6%88%982 这个是什么编码

2015-07-12 18:56:21 +08:00
 ciba1990

转译中文是‘激战2’,在python里如何将字符串‘激战2’转换为‘%E6%BF%80%E6%88%982’。

6294 次点击
所在节点    Python
26 条回复
clijiac
2015-07-12 19:05:42 +08:00
base64吧
imlonghao
2015-07-12 19:05:58 +08:00
@clijiac ...................
BraveRBT
2015-07-12 19:06:27 +08:00
BraveRBT
2015-07-12 19:08:42 +08:00
举个栗子
urllib.urlencode({"逆战2":"hehe "})
dangge
2015-07-12 19:09:20 +08:00
lerry
2015-07-12 19:10:17 +08:00
import urllib

print urllib.unquote("%E6%BF%80%E6%88%982")
>>激战2
clijiac
2015-07-12 19:10:21 +08:00
@imlonghao 一时脑抽....想到图片去了
lerry
2015-07-12 19:11:25 +08:00
print urllib.quote("激战2")
>>%E6%BF%80%E6%88%982
zonghua
2015-07-12 19:11:58 +08:00
@lerry 人生苦短,我用python
blank4me
2015-07-12 19:32:47 +08:00
貌似就叫做url encode?本质而言是UTF-8。“激”的UTF-8是E6 BF 80。
ciba1990
2015-07-12 20:15:59 +08:00
django报错 KeyError at /search/
u'\u6fc0'
代码:
url='http://tieba.baidu.com/f?ie=utf-8&kw=%s&fr=search' % quote(“激战2”)
html=urllib2.urlopen(url).read()
soup = BeautifulSoup(html)

如果url=’http://tieba.baidu.com/f?ie=utf-8&kw=%E6%BF%80%E6%88%982&fr=search‘却又可以。


@lerry
@dangge
@BraveRBT
anthonyeef
2015-07-12 20:21:23 +08:00
@dangge 你的笔记打不开
ciba1990
2015-07-12 20:31:31 +08:00
刚才代码打错了
url='http://tieba.baidu.com/f?ie=utf-8&kw=%s&fr=search' % quote(request.GET.get('q',''))
html=urllib2.urlopen(url).read()
soup = BeautifulSoup(html)
上面打的那个代码是可以运行的。request.GET.GET('q','')获取的就是"激战2“,不知道哪里的问题。
skywatcher
2015-07-12 20:54:33 +08:00
@ciba1990 不应该啊,百度的gbk和utf8编码都可以访问啊,“激战2”的gbk的quote是`%BC%A4%D5%BD2`, utf8的quote是`%E6%BF%80%E6%88%982`

http://tieba.baidu.com/f?ie=utf-8&kw=%BC%A4%D5%BD2&fr=search

http://tieba.baidu.com/f?ie=utf-8&kw=%E6%BF%80%E6%88%982&fr=search

这两个都是能访问的,你把urlprint出来看看哪里不一样
ciba1990
2015-07-12 21:22:54 +08:00
@skywatcher
就是URL报错,
/home/mysite/search/views.py in index
url='http://tieba.baidu.com/f?ie=utf-8&kw=%s&fr=search' % quote(request.GET.get('q','')) ...
▶ Local vars
/usr/lib/python2.7/urllib.py in quote
return ''.join(map(quoter, s)) ...
▶ Local vars
ciba1990
2015-07-12 21:23:42 +08:00
@skywatcher 英文没问题 中文报错
dangge
2015-07-12 21:46:46 +08:00
@anthonyeef 吓到了 V2过来的流量太大了...
本来是放在一个小服务商的机器上,现在迁移了一下...
paicha
2015-07-12 21:50:51 +08:00
@dangge 这是有多小……
ciba1990
2015-07-12 21:58:45 +08:00
@skywatcher 解决了 3Q
cmheia
2015-07-13 08:44:47 +08:00
@dangge 笔记里面可见 3 处小错误……我是强迫症

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/205158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX