用它们的 unicode 代码替换文件中的特殊字符 (Python)

Replace special characters in a file with their unicode code (Python)

我有一个有趣的问题。假设有一个字符列表及其在 unicode 中的匹配表示:

list_of_special_chars = [
    ('Ą', b'\u0104'),
    ('ą', b'\u0105'),
    ('Ę', b'\u0118'),
    ('ę', b'\u0119'),
    ('Ó', b'\xd3'),
    ('ó', b'\xf3'),
    ('Ć', b'\u0106'),
    ('ć', b'\u0107'),
    ('Ł', b'\u0141'),
    ('ł', b'\u0142'),
    ('Ń', b'\u0143'),
    ('ń', b'\u0144'),
    ('Ś', b'\u015a'),
    ('ś', b'\u015b'),
    ('Ź', b'\u0179'),
    ('ź', b'\u017a'),
    ('Ż', b'\u017b'),
    ('ż', b'\u017c')
]

现在,考虑创建一个包含此短语的文本文件:Cześć, jak się masz?

如何将文本替换到文件中以创建如下所示的新文件:Cze\u015b\u0107, jak si\u0119 masz?

我尝试了不同的方法,但我无法解决 python 处理字符串的方式的此类问题。例如 "Czesć".replace("ć", "\u0107") 总是同一个词。

您需要对反斜杠进行转义,这样 \u 就不会被视为 Python 转义序列的开头。

"Czesć".replace("ć", "\u0107")