Python3 - 将非 ascii 字符替换为其 unicode 代表值? [复制]

Posted

技术标签:

【中文标题】Python3 - 将非 ascii 字符替换为其 unicode 代表值? [复制]【英文标题】:Python3 - replacing non ascii characters to their unicode representative value? [duplicate] 【发布时间】:2021-12-18 19:34:13 【问题描述】:

假设我有一个字符串,"Hello–World"

我如何将它转换成这样的东西"Hello\u2013World" 其中"\u2013""–"的unicode代表

【问题讨论】:

【参考方案1】:

str.encodeunicode_escape 一起使用:

>>> print(s.encode('unicode_escape'))
b'Hello\\u2013World'

如果你想要一个字符串(和上面一样的字节字符串):

>>> print(s.encode('unicode_escape').decode())
Hello\u2013World

【讨论】:

谢谢,不知道有没有编码方式 更多编码在这里:docs.python.org/3/library/codecs.html#text-encodings 我认为删除这个答案会更好,因为它是***.com/a/32280815 的副本,并且必须对两者进行修复。如果你不删除它,应该提到这个编码还会产生其他 Python 转义序列,如 \t\xXX

以上是关于Python3 - 将非 ascii 字符替换为其 unicode 代表值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将非 ASCII 字符(变音符号、重音符号...)转换为最接近的 ASCII 等效字符(创建 slug)

将非 ASCII 字符从 ASCII-8BIT 转换为 UTF-8

在 MS Access (VBA) 中使用 ADODB 将非 ASCII 插入 MySQL 数据库时出现“不正确的字符串值”,但重试有效

在 python 中将字符转换为其 ascii 等价物的最简单方法是啥? [复制]

扩展的 ASCII 字符,例如欧元符号被转换为其 unicode 等价物

如何在 Python 中将单个字符转换为其十六进制 ASCII 值?