简体   繁体   中英

C-style escaping in python

How do I escape (and unescape) the C escaped characters( newlines, slashes etc) for a string in python?

I guess JSON.encode( string) does this, but is there a better way?

Use str.encode('string-escape') in Python 2.7:

>>> '12\t34\n'.encode('string-escape')
'12\\t34\\n'
>>> '12\\t34\\n'.decode('string-escape')
'12\t34\n'

Use str.encode('unicode-escape') or str.encode('unicode-escape').decode('utf-8') :

>>> '12\t34\n'.encode('unicode-escape')
b'12\\t34\\n'
>>> b'12\\t34\\n'.decode('unicode-escape')
'12\t34\n'

>>> '12\t34\n'.encode('unicode-escape').decode('utf-8')
'12\\t34\\n'
>>> '12\\t34\\n'.encode('utf-8').decode('unicode-escape')
'12\t34\n'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM