erstellen Ich mag würde den folgenden Code schreiben:Python 3.x: Mit string.maketrans(), um einem Unicode-Zeichen Transformation
import string
frm = b'acdefhnoprstuw'
to = 'אקדיפהנופרסתאו'
trans_table = string.maketrans(frm, to)
hebrew_phrase = 'fear cuts deeper than swords'.translate(trans_table)
Der obige Code funktioniert nicht, da die to
Parameter zu string.maketrans(frm, to)
muss eine Byte-Sequenz sein, keine Zeichenfolge. Das Problem besteht darin, dass Bytefolgen nur ASCII-Literalzeichen enthalten können. Daher kann ich keine Umwandlung vornehmen, die englische Zeichenfolgen in hebräische Zeichenfolgen übersetzt. Der Grund ist, dass string.maketrans()
ein Byte-Objekt retruns.
Gibt es eine elegante Möglichkeit, die Funktionen string.maketrans()
und (oder gleichwertige Funktionen, die mit Unicode funktionieren) für meine Aufgabe zu verwenden?
Ist 'import string' jemals eine gute Idee? – snakile
@snakile: Nicht sehr oft, aber es gibt gültige Verwendungen dafür: http://docs.python.org/py3k/library/string –