如何将字符串表示字节转换回字节?

时间:2009-04-13 08:42:42

标签: python web-services

我正在使用SUDS与C#编写的Web服务进行通信。该服务接收一个URL,抓取其网页,然后将其内容返回为byte []。

它在SOAP中的类型是:

<s:element minOccurs="0" maxOccurs="1" name="rawByte" type="s:base64Binary" />

示例客户端代码:

>>> from suds.client import Client
>>> url = "http://WSServer/Service1.asmx?wsdl"
>>> client = Client(url)
>>> page = client.service.GetURLContent("http://www.google.co.uk")
>>> print page
(CrawlResult){
   crawStatus = "SUCC"
   rawByte = "PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb2 ... "

问题是如何将rawByte从字符串转换为字节,然后将其解释为带编码的文本(如“ascii”)。

我不清楚。

谢谢, 丹尼尔。

2 个答案:

答案 0 :(得分:3)

正如SOAP元素所说,字节是base64-encoded

要解码,请使用python模块 base64

答案 1 :(得分:2)

我需要使用binascii模块将其转换回字符串,例如:

>>> btxt = binascii.a2b_base64(page.rawByte)

然后可以将btxt视为普通字符串。