Python SUDS - 发送非UTF-8编码消息的问题
我需要用Python的SUDS库发送一个SOAP消息,并且消息中的字符串要用'iso-8859-2'编码。有没有人知道怎么做?
当我用'iso-8859-2'编码的参数调用客户端的方法时,SUDS会抛出以下异常:
File "/home/bartek/myenv/lib/python2.5/site-packages/suds/sax/text.py", line 43, in __new__
result = super(Text, cls).__new__(cls, *args, **kwargs)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 10: ordinal not in range(128)
1 个回答
0
Text = Text.decode('iso-8859-2')
如果你的文本一开始是用iso-8859-2编码的8位字符串,那么这可能就是你需要的全部。如果你需要把它发送成UTF-8字符串或者其他格式,那你可能想用
Text = Text.decode('utf-8')
如果这两种都不适用,那就试着用一下decode()
和encode()
这两个方法,以及它们的错误处理方法:http://docs.python.org/release/2.5/lib/string-methods.html
(我把答案中大部分不必要的内容去掉了,因为考虑到问题的具体情况。)