[Twisted-Python] twisted.internet.abstract.FileDescription.write vs unicode
James Y Knight
foom at fuhm.net
Mon Jul 12 18:48:29 EDT 2004
Yes. Sockets can only transmit and files can only store bytes, not
characters. The python 'str' unfortunately does double-duty as a
byte-string and a character string limited to ASCII and/or ISO8859-1
characters, which often causes confusion among users.
The python 'unicode' is a character string, and thus has no place being
written to a socket/file. If you want to write unicode data, first
convert to the appropriate byte encoding, using .encode(encname). I'd
suggest something like "UTF-8" or, perhaps you'd prefer "UTF-16LE". Or
maybe something else...whatever your app requires.
James
On Jul 12, 2004, at 6:30 PM, Jeff Bowden wrote:
> Is there a good reason for
> twisted.internet.abstract.FileDescription.write to require
> isinstance(data, str) rather than also allowing isinstance(type,
> unicode)??
More information about the Twisted-Python
mailing list