Unicode Zeichen ( u'xxx' ) mit Variable nutzen ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
loki1979
User
Beiträge: 3
Registriert: Samstag 11. Juni 2016, 23:49

Hallo liebe Leute , ich suche dringend Hilfe in besagtem Fall .

Unicode Zeichen ( u'xxx' ) mit Variable nutzen

GEHT:
s = u'Ordnungsh\xfcter'

GEHT NICHT :
s = 'u' variable ??? oder so ((-;
BlackJack

@loki1979: Was soll denn da ”gehen”? Was hast Du? Was willst Du?

Der u-Präfix ist nur für literale Zeichenketten. Hast Du einen Wert vom Typ `str` und willst den zu `unicode` dekodieren? Dann suchst Du die `decode()`-Methode mit der passenden Kodierung als Argument.
loki1979
User
Beiträge: 3
Registriert: Samstag 11. Juni 2016, 23:49

Das geht :

Code: Alles auswählen

def strip_accents(s):
    try: s = unicode(s)
    except: s = s.encode('utf-8')
    s = unicodedata.normalize('NFKD', s).encode('ascii','ignore')
    return s
	
xbmcgui.Dialog().ok('test0',str(strip_accents(u'Ordnungsh\xfcter')))
Aber wie mach ich das das er daserkennt ?:

Code: Alles auswählen

def strip_accents(s):
    try: s = unicode(s)
    except: s = s.encode('utf-8')
    s = unicodedata.normalize('NFKD', s).encode('ascii','ignore')
    return s
	
xbmcgui.Dialog().ok('test0',str(strip_accents(u''.sting_variable )))
Seit gestern Rüben glühen .... :?
BlackJack

@loki1979: ”Das geht” ist eine fragwürdige aussage. denn Du hast da die Richtung beim (de)kodieren vertauscht. Wenn ``unicode(s)`` bei einer Bytezeichenkette nicht klappt, dann wird ``s.encode('utf8')`` ebenfalls nicht klappen denn dazu müsste `s` ja erst einmal als `unicode` vorliegen, was aber nicht implizit geht wenn etwas ausserhalb von ASCII enthalten ist. Und falls in einer Bytezeichenkette nur ASCII enthalten ist, dann macht das umkodieren zu UTF-8 keinen Sinn, denn das bleibt dann einfach identisch.

Du möchtest übrigens kein nacktes ``except:`` ohne die Angabe von der oder den konkreten Ausnahmen verwenden. Da verfängt sich dann irgendwann mal ein ganz anderer Fehler und dann viel Spass beim suchen…
loki1979
User
Beiträge: 3
Registriert: Samstag 11. Juni 2016, 23:49

Dank Dir , deine aussagen gaben mir den richtigen Anhaltspunkt .
langsam komme ich rein in die Sache ((-;

DA SIND SE DIE Ü PÜNKTCHEN :
Bild

Danke ((-;
Antworten