- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
According to the docs , 内置字符串编码 string_escape
:
Produce[s] a string that is suitable as string literal in Python source code
...而 unicode_escape
:
Produce[s] a string that is suitable as Unicode literal in Python source code
因此,它们应该具有大致相同的行为。但是,他们似乎以不同的方式对待单引号:
>>> print """before '" \0 after""".encode('string-escape')
before \'" \x00 after
>>> print """before '" \0 after""".encode('unicode-escape')
before '" \x00 after
string_escape
会转义单引号,而 Unicode 则不会。可以假设我可以简单地:
>>> escaped = my_string.encode('unicode-escape').replace("'", "\\'")
...并获得预期的行为?
编辑:为了 super 清楚,预期的行为是得到适合作为文字的东西。
最佳答案
根据我对CPython 2.6.5源码中unicode-escape
和unicoderepr
的实现的解释,是的; repr(unicode_string)
和 unicode_string.encode('unicode-escape')
之间的唯一区别是包含换行引号和转义使用的引号。
它们都由相同的函数驱动,unicodeescape_string
。此函数接受一个参数,其唯一功能是切换添加换行引号和转义该引号。
关于Python "string_escape"与 "unicode_escape",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2969044/
According to the docs , 内置字符串编码 string_escape: Produce[s] a string that is suitable as string litera
我们有多个版本的 SQL Server(2016 年、2012 年),不幸的是,STRING_ESCAPE 仅在 2016 年才有效,因为它是在该版本中引入的。当我在 SQL Server 2012
我是一名优秀的程序员,十分优秀!