xf1 - Aproximadamente convirtiendo una cadena Unicode en una cadena ASCII en Python
xc3 xad python (5)
Hay una técnica para quitar los acentos de los personajes, pero otros personajes deben ser reemplazados directamente. Consulte este artículo: http://effbot.org/zone/unicode-convert.htm
no sé si esto es trivial o no, pero necesitaría convertir una cadena Unicode en una cadena ASCII, y no me gustaría tener todos esos caracteres de escape. Quiero decir, ¿es posible tener una conversión "aproximada" a algún personaje ascii bastante similar?
Por ejemplo: Gavin O''Connor se convierte a Gavin O / x92Connor, pero realmente me gustaría que solo se convirtiera a Gavin O''Connor. es posible? ¿Alguien escribió alguna utilidad para hacerlo, o tengo que reemplazar manualmente todos los caracteres?
¡Muchas gracias! Marco
Intenta reemplazar el personaje simple
str1 = "“I am the greatest”, said Gavin O’Connor"
print(str1)
print(str1.replace("’", "''").replace("“","/"").replace("”","/""))
PS: agregue # -*- coding: utf-8 -*-
en la parte superior de su archivo .py
si obtiene un error
Utilice el paquete Unidecode para transliterar la cadena.
>>> import unidecode
>>> unidecode.unidecode(u''Gavin O’Connor'')
"Gavin O''Connor"
import unicodedata
unicode_string = u"Gavin O’Connor"
print unicodedata.normalize(''NFKD'', unicode_string).encode(''ascii'',''ignore'')
Salida:
Gavin O''Connor
Aquí está el documento que describe los formularios de normalización: http://unicode.org/reports/tr15/
b = str(a.encode(''utf-8'').decode(''ascii'', ''ignore''))
debería funcionar bien