如何在Python3中.decode('string-escape')?

vy32:

我有一些需要转义的转义字符串。我想用Python做到这一点。

例如,在python2.7中,我可以这样做:

>>> "\\123omething special".decode('string-escape')
'Something special'
>>> 

如何在Python3中做到这一点?这不起作用:

>>> b"\\123omething special".decode('string-escape')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
LookupError: unknown encoding: string-escape
>>> 

我的目标是成为一个像这样的字符串:

s\000u\000p\000p\000o\000r\000t\000@\000p\000s\000i\000l\000o\000c\000.\000c\000o\000m\000

并将其转换为:

"[email protected]"

进行转换后,我将探查我拥有的字符串是否以UTF-8或UTF-16编码。

麦斯特里翁:

如果您希望海峡至- 海峡转义序列的解码,所以输入和输出都是Unicode:

def string_escape(s, encoding='utf-8'):
    return (s.encode('latin1')         # To bytes, required by 'unicode-escape'
             .decode('unicode-escape') # Perform the actual octal-escaping decode
             .encode('latin1')         # 1:1 mapping back to bytes
             .decode(encoding))        # Decode original encoding

测试:

>>> string_escape('\\123omething special')
'Something special'

>>> string_escape(r's\000u\000p\000p\000o\000r\000t\000@'
                  r'\000p\000s\000i\000l\000o\000c\000.\000c\000o\000m\000',
                  'utf-16-le')
'[email protected]'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python3中的'str'对象没有属性'decode'

如何将mysql_real_escape_string转换为PHP7?

如何在Python3中解码编码的文字/字符串的numpy数组?AttributeError:“ numpy.ndarray”对象没有属性“ decode”

mysqli_real_escape_string与PHP中的数组?

Javadoc中的Escape @ Character

mysql_real_escape_string():在数据库插入中拒绝访问

如何在Python3中实现Javascript String.fromCharCode以接受减号

mysql_real_escape_string \\\语法

我该如何解决此错误?[function.mysql-real-escape-string]

如何测试mysqli的real_escape_string()?

在哪里可以在此处插入mysql_real_escape_string?以及如何防止html输入?

mysqli_real_escape_string($ connect,$ username)中$ connect的作用是什么?

u'string'是否与'string'.decode('XXX')相同

Java-URLDecoder.decode(String s)与URLDecoder.decode(String s,String enc)

我如何在数组中使用mysql_real_escape_string

我该如何解决这个错误?不推荐使用:mysql_escape_string():不推荐使用此函数;使用mysql_real_escape_string()代替

使用DAO或其他方法在Yii 2中使用mysqli_real_escape_string?

Python .decode函数

在GET请求中的JSON数据上使用mysql_real_escape_string的位置

如何使用mysqli_real_escape_string()在MySQL DB中插入序列化数组

最新版本的php中的mysql_real_escape_string()函数的选项是什么?

如何在php中反转mysql_escape_string函数?

将string.decode('utf8')从python2转换为python3

如何从数据库类调用连接到mysqli_real_escape_string()

如何用 PDO::quote() 替换 mysql_escape_string

如何修复“在 null 上调用成员函数 real_escape_string()”?

.decode('hex') Python2.7 vs Python3

Python2 和 Python3 中的 bytes.decode()

用於轉義 JSON 的 T-SQL 中 STRING_ESCAPE() 的反轉