python3 raw strings and \u escapes
Terry Reedy
tjreedy at udel.edu
Wed May 30 12:46:21 EDT 2012
On 5/30/2012 2:52 AM, rurpy at yahoo.com wrote:
> In python2, "\u" escapes are processed in raw unicode
> strings. That is, ur'\u3000' is a string of length 1
> consisting of the IDEOGRAPHIC SPACE unicode character.
That surprised me until I rechecked the fine manual and found:
"When an 'r' or 'R' prefix is present, a character following a backslash
is included in the string without change, and all backslashes are left
in the string."
"When an 'r' or 'R' prefix is used in conjunction with a 'u' or 'U'
prefix, then the \uXXXX and \UXXXXXXXX escape sequences are processed
while all other backslashes are left in the string."
When 'u' was removed in Python 3, a choice had to be made and the first
must have seemed to be the obvious one, or perhaps the automatic one.
In 3.3, 'u' is being restored. I have inquired on pydev list whether the
difference above should also be restored, and mentioned this thread.
--
Terry Jan Reedy
More information about the Python-list
mailing list