将字符串转换为unicode转义序列

2024-04-20 08:02:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python3中将一个字符串转换成unicode转义序列,以便以后使用。例如:

string = "Hello, World!\n"
print(string.unicode_escape())
# shoud print \u0048\u0065\u006C\u006C\u006F\u002C\u0020...

注意,函数应该返回一个原始字符串或对反斜杠进行转义(这样我就可以实际看到转义)。我看过this post,但它与haskell的关系不大


Tags: 字符串helloworldstringunicode中将python3print
2条回答

ord()函数返回字符的Unicode码位。只需将其格式化为\u,后跟一个4位的十六进制表示

def unicode_escape(s):
    return "".join(map(lambda c: rf"\u{ord(c):04x}", s))
print(unicode_escape("Hello, World!\n"))
# prints \u0048\u0065\u006c\u006c\u006f\u002c\u0020\u0057\u006f\u0072\u006c\u0064\u0021\u000a
def encode(s):
    ret = []
    for c in s:
        n = ord(c)
        ret.append("\\u{:04x}".format(n))
    return "".join(ret)
#


print(encode("aeiouäöüßéá€æÆΑαΒβΓγ"))

相关问题 更多 >