【发布时间】:2014-11-11 12:15:00
【问题描述】:
我希望这应该很容易。我有一个网址:
http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol%C3%A9on.jpg
使用以下代码保存到 json 文件中:
paintings = get_all_paintings(marc_chagall)
with open('chagall.json', 'w') as fb:
x = json.dump(paintings, fb)
在文件中,URL变成了:
u'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol\xe9on.jpg'
我可以使用以下代码获取原始的、可用的、百分比编码的 URL:
p = u'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol\xe9on.jpg'
p = urllib.quote(p.encode('utf8'), safe='/:')
print repr(p)
> 'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol%C3%A9on.jpg'
现在是棘手的部分。我想得到这个字符串:
http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napoléon.jpg
napoléon 中的非 ascii 字符完好无损。这是为了在存储桶中命名,而不是其他任何东西。我怎样才能产生这个字符串?
【问题讨论】:
标签: python python-2.7 unicode urllib non-ascii-characters