如何使用python对字符串进行url-safe编码?和urllib.quote是错误的

Gui*_*eba 3 python encoding url-rewriting

您好我想知道您是否知道将字符串编码为url-safe的任何其他方法,因为urllib.quote做错了,输出与预期不同:

如果我试试

urllib.quote( 'A')

我明白了

'%C3%A1'

但那不是正确的输出,它应该是%E1

正如本网站提供的工具所示

这不是我的困难,不正确的引用输出阻止浏览器找到资源,如果我尝试

urllib.quote('\ images \á\ some file.jpg')

然后我尝试使用我提到的javascript工具分别得到这个字符串

%5Cimages%5C%C3%A1%5Csome%20file.jpg

%5Cimages%5C%E1%5Csome%20file.jpg

注意如何几乎相同,但引用提供的URL不起作用,而另一个则起作用.我试着在提供引用的字符串上弄乱编码('utf-8),但它没有什么区别.我试着用其他西班牙语单词加上口音,而且它们都有不同的代表.

这是一个python bug吗?你知道一些模块可以做到这一点吗?

Ano*_*mie 7

根据RFC 3986,%C3%A1是正确的.在八位字节流进行百分比编码之前,应该使用UTF-8将字符转换为八位字节流.您链接的网站已过期.

请参阅为什么URL的编码和查询字符串部分不同?有关处理URL中非ASCII字符的历史记录的更多详细信息.

  • @Guillermo,您是否可以更新_server_以允许较新的HTTP客户端请求新RFC中指定的资源? (2认同)