0

我需要发送一条带有以“iso-8859-2”编码的字符串的 SOAP 消息(使用 Python SUDS)。有人知道怎么做吗?

当我在客户端上使用“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)
4

1 回答 1

0
Text = Text.decode('iso-8859-2')

如果 Text 以使用 iso-8859-2 编码的 8 位字符串开头,则可能就是您所需要的。但是,如果需要将其作为 UTF-8 字符串或其他内容发送,那么您可能希望使用

Text = Text.decode('utf-8')

如果两者都不是,那么只需使用decode()andencode()方法和与它们一起使用的错误处理方法:http: //docs.python.org/release/2.5/lib/string-methods.html

(考虑到问题的内容,在我的答案中删除了大部分不必要的东西。)

于 2010-06-09T14:18:01.420 回答