gpt4 book ai didi

Python "string_escape"与 "unicode_escape"

转载 作者:IT老高 更新时间:2023-10-28 20:21:34 31 4
gpt4 key购买 nike

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/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com