Python string-Codierung für eine variable

Ich bin mir der Tatsache bewusst, dass für Python < 3, unicode-Codierung für die Zeichenkette 'Plants vs. Zombies‰ã¢ 2' ist wie folgt:

u"Plants vs. Zombies䋢 2".encode("utf-8")

Was ist, wenn ich eine variable (sagen appName) anstatt ein string kann ich es so machen:

  appName = "Plants vs. Zombies䋢 2"
 u+appName.encode("utf-8")

Für:

 appName = appName.encode('utf-8');


 'ascii' codec can't decode byte 0xe4 in position 18: ordinal not in range(128)
  • Sicher, wenn es hat .encode Methode.
  • Warum nicht Sie versuchen und sehen, was passiert?
  • Wenn appName ist ein unicode-string dann können Sie einfach appName.encode(). Wenn das nicht funktioniert, Sie müssen nicht ein unicode string vielleicht.
  • Nein, nicht mit, dass u business.
  • Sicherlich, wenn er definiert u variable.
  • Ich denke, Sie verkennen die Frage, aber das ist nicht verwunderlich, denn die Frage ist nicht gut erklärt. Mein Eindruck ist, dass er versucht, die u einer Variablen zu, wie er zu einer Zeichenkette wie u"blah", das ist nicht möglich.
  • Ich verstehe die Frage. Ich bin-lustig-machen. Ich Stimme, um es zu schließen, denn es sollte "beweisen ein minimales Verständnis des Problems gelöst wird" und es funktioniert nicht. Offensichtlich OP nicht verstehen, was u (vor einem string) bedeutet.
  • Du verwechselst die syntax zum erstellen einer unicode Wert im Quellcode mit den vorhandenen Werten. u'...' schafft eine unicode string. Sie brauchen nicht zu verwenden u für vorhandene Variablen, ist es einfach spezielle syntax zu unterscheiden, eine unicode string aus einem normalen string.
  • Wie erstellen Sie eine list Objekt mit eckigen Klammern ([1, 2, 3]) oder ein Wörterbuch mit geschweiften Klammern ({'foo': 'bar'}), u'...' ist ein literal-object-notation.
  • Noch strenger als das. [] ist tatsächlich ein operator, die Konstrukte, die zur Laufzeit eine Liste von mehreren Ausdrücken, die könnten alles sein. u-Präfix nicht einen Ausdruck akzeptieren, es zwingt zu einer unterschiedlichen interpretation der lexikalischen token zur Analysezeit.
  • Bin ich nicht, aber der Fragesteller ist.
  • oops, das waren in der Tat richtet sich gegen die OP, nicht Sie.

Schreibe einen Kommentar