我遇到了無法解析unicode字符串的問題。我嘗試了以下,但它不適用於Unicode字符。無法解析unicode字符串的問題
>>> s = ur"\'test\'"
>>> s.decode("string_escape")
"'test'"
>>> s = ur"\'test \u2014\'"
>>> s.decode("string_escape")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 7:
ordinal not in range(128)
有沒有更好的方法去除反斜槓?
順便說一句:我需要這個,因爲xmlrpclib.ServerProxy轉義的答覆。
編輯:下面是我的XML-RPC請求的示例:
>>import xmlrpclib
>>server = xmlrpclib.ServerProxy("http://ws.audioscrobbler.com/2.0/")
>>xml_data = server.tag.search({'api_key':'...','tag':'80s'})
>>print xml_data
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<lfm status=\"ok\">
<results for=\"80s\" xmlns:opensearch=\"http://a9.com/-/spec/opensearch/1.1/\">
<opensearch:Query role=\"request\" searchTerms=\"80s\" startPage=\"1\" />
...
我想逃脫來自XMLRPC服務器。
不的xmlrpclib同時處理逃逸,單獨進行反向轉義?而不是使用XML轉義? – 2011-03-09 22:17:51
我只是看到轉義可能來自xmlrpc服務器,因爲它在xml響應中發送了一個xml字符串。 – svenwltr 2011-03-09 22:29:30