[Zope-dev] xmlrpc: Syntax error at line 34: illegal character in content

Shane Hathaway shane@digicool.com
Thu, 10 May 2001 22:28:43 -0400 (EDT)


On Fri, 11 May 2001 richard@bizarsoftware.com.au wrote:

> Shane Hathaway wrote:
> > The problem with sending binary data unencoded is line endings: \r\n
> > might be "helpfully" converted to \n and vice-versa.  Other characters
> > can be encoded but apparently parsers treat 
 and 
 as a
> > real line ending.
>
> I'm not sure where this leaves me... I think this means that ultimately
> it's not possible to send binary data which contains 0x10 or 0x1310 in an
> XML-RPC message. Bummer. Especially with the ~30% bloat incurred by base64
> encoding :(

I feel like the absence of base-64 encoding is an oversight in the
protocol, along with the absence of a "null" type (which would correspond
to "None".)  That's why I think it's not a kludge to extend XML-RPC.

But why is the 30% bloat an issue?  The important parts of the base64
module are in C and the encoding and decoding is fast.

> > In fact it's time to convert xmlrpclib to use the Expat module (via SAX)
> > in Python 2.1.  It should speed it up dramatically.
>
> I wish we had the luxury of moving to python 2.1 :(

Actually the sax / expat module is also available for Python 1.5.2, if
that helps.

Shane