怎么打开一个网址与非utf-8的参数
题
使用Python我需要转移非utf-8编码数据(具体shift-jis)的URL通过查询串。我应该怎样转让的数据?报价吗?编码在utf-8?
感谢
解决方案
查询字符串参数是基于字节的。虽然IRI到URI和类型的非ASCII字符通常会使用UTF-8,有没有强迫你在编码发送或接收自己的参数。
因此,对于移位-JIS(实际上通常CP932,Windows的扩展编码的):
foo= u'\u65E5\u672C\u8A9E' # 日本語
url= 'http://www.example.jp/something?foo='+urllib.quote(foo.encode('cp932'))
在Python 3中你这样做在报价函数本身:
foo= '\u65E5\u672C\u8A9E'
url= 'http://www.example.jp/something?foo='+urllib.parse.quote(foo, encoding= 'cp932')
不隶属于 StackOverflow