Dan wrote:
I've having trouble coming to grip with Python strings.
I need to send binary data over a socket. I'm taking the data from a
database. When I extract it, non-printable characters come out as a
backslash followed by a three numeric characters representing the
numeric value of the data. I guess this is what you would call a raw
Python string. I want to convert those four characters ( in C-think,
say "\\012" ) into a single character and put it in a new string.
Does this help?
>>> s = 'foo \\012 bar'
>>>
>>> s.decode('string-escape')
'foo \n bar'
>>> print s.decode('string-escape')
foo
bar
>>>
Note that the \n in the first one is because I didn't
*print* the result, but merely allowed the interpreter
to call repr() on it. repr() for a newline is of course
backslash-n, so that's what you see (inside quotation marks)
but the string itself has only 9 characters in it, as
you wished.
-Peter
--
http://mail.python.org/mailman/listinfo/python-list