You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将字符串转为Unicode转义格式及实现对应反向转换?

实现方案

正向转换(普通字符串/带\x转义的字符串转\u格式Unicode转义字符串)

Python 3 中"Città"和"Citt\xe0"本身是完全等价的字符串,二者底层存储没有任何区别,\xe0只是同一个字符的简写转义表示。
你可以通过自定义函数遍历字符串的每个字符,对非ASCII字符格式化为\uXXXX的形式即可:

def str_to_unicode_escape(input_str: str) -> str:
    output = []
    for c in input_str:
        # ASCII范围内的字符直接保留,非ASCII转成\uXXXX格式
        if ord(c) < 128:
            output.append(c)
        else:
            output.append(f"\\u{ord(c):04X}")
    return ''.join(output)

# 测试用例
print(str_to_unicode_escape("Città"))     # 输出:Citt\u00E0
print(str_to_unicode_escape("Citt\xe0"))  # 输出:Citt\u00E0

转换后的结果是纯ASCII字符串,可以直接写入任意文本文件。

反向转换(\u格式Unicode转义字符串转回普通字符串)

直接使用Python内置的unicode_escape编解码规则即可实现:

def unicode_escape_to_str(input_str: str) -> str:
    return input_str.encode("utf-8").decode("unicode_escape")

# 测试用例
print(unicode_escape_to_str("Citt\\u00E0"))  # 输出:Città

内容的提问来源于stack exchange,提问作者Marco Dell'Acqua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:15:02