使用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')

其他提示

我不知道是什么Unicode有做到这一点,因为查询字符串是字节的字符串。您可以使用的urllib 中引用函数引用普通字符串,以便它们可以通过内查询字符串。

通过"query string"你的意思是HTTP获得就像 http:/{URL}?data=XYZ?

你有编码,什么都有的数据通过 base64.b64encode 使用 -_ 作为替代性格是URL安全作为一个选项。看看 在这里,.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top