Python 将字符串转换为具有特殊字符的unicode

Python 将字符串转换为具有特殊字符的unicode,python,Python,我有一个像“Gregory RAST”这样的字符串,我想把它转换成“Grégory RAST” 我该怎么做?这是什么相反的过程 对于反向过程,我尝试使用decode方法,它对其中一些有效,对一些无效 我不想使用忽略,因为它会转义一些字符,并且显示的名称是错误的。将文本从Grégory RAST转换为Gregory RAST: >>> from unicodedata import normalize, combining >>> aname = u'Grégo

我有一个像
“Gregory RAST”
这样的字符串,我想把它转换成
“Grégory RAST”

我该怎么做?这是什么相反的过程

对于反向过程,我尝试使用
decode
方法,它对其中一些有效,对一些无效


我不想使用
忽略
,因为它会转义一些字符,并且显示的名称是错误的。

将文本从
Grégory RAST
转换为
Gregory RAST

>>> from unicodedata import normalize, combining
>>> aname = u'Grégory RAST'
>>> t1=unicodedata.normalize('NFD', aname)
>>> ''.join(c for c in t1 if not unicodedata.combining(c))
u'Gregory RAST'
如果不映射具有变音字符的同一字符串之间的关系,并且没有它们,则无法进行向后转换,如:

>>> names = { u'Gregory RAST': u'Grégory RAST' }
>>> names[u'Gregory RAST']
u'Gr\xe9gory RAST'

否则,您如何知道所需的字符串是否为
Grégory RAST
,而不是
Grégory RAST
。对不起,我没能早点赶上。我明白了。但我的观点是,人们是如何不断地向网络发送这种不需要的字符的??即使他们不得不这样做,他们也需要做我提到的相反的过程。那么他们是怎么做到的??