【问题标题】:Urlencode cyrillic characters in Python在 Python 中对西里尔字符进行 Urlencode
【发布时间】:2014-06-16 07:34:50
【问题描述】:

我需要在 Windows-1251 编码中将西里尔文字符串转换为其 urlencoded 版本。对于以下示例字符串:

Моцарт

正确的结果应该是:

%CC%EE%F6%E0%F0%F2

在 PHP 中,我只需执行以下操作:

$request = urlencode(iconv("UTF-8", "windows-1251", "Моцарт"));
echo $request;

如何在 Python 中实现同样的目标?

【问题讨论】:

标签: python string urlencode


【解决方案1】:

对字符串使用decodeencode方法,然后使用urllib.quote

import urllib
print urllib.quote(s.decode('utf8').encode('cp1251'))

打印

%CC%EE%F6%E0%F0%F2

【讨论】:

  • 你为什么用1251?
【解决方案2】:

在 Python 3 中,使用 urllib.request 中的 quote() 函数:

from urllib import request

request.quote("Моцарт".encode('cp1251'))

# '%CC%EE%F6%E0%F0%F2'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2020-06-17
    • 2020-08-14
    • 2011-08-02
    • 2016-06-15
    • 1970-01-01
    相关资源
    最近更新 更多