Kodierung einer Zeichenkette nach ASCII

8

Ich habe eine lange Zeichenfolge, die ich in ascii kodieren möchte. Ich mache:

%Vor%

aber ich bekomme:

%Vor%

(Ich habe auch 'ignore' ausprobiert, aber es hilft nicht.)

Was mache ich falsch?

    
Guy 19.11.2009, 11:09
quelle

2 Antworten

11

Ihre Zeichenfolge ist bereits codiert mit einer Codierung. Bevor Sie es in ascii codieren, müssen Sie es zuerst dekodieren .

Python ist implicity und versucht, es zu entschlüsseln (deshalb erhalten Sie UnicodeDecodeError nicht UnicodeEncodeError ).

Sie können das Problem lösen, indem Sie explicit Ihre Bytestring dekodieren (mit der entsprechenden Kodierung) vor versuchen, es erneut zu ASCII zu rekodieren.

Beispiel:

%Vor%

Verwenden Sie die korrekte Kodierung Ihre Zeichenfolge wurde an erster Stelle codiert, anstatt 'some_encoding' .

Sie müssen wissen, welche Codierung eine Zeichenfolge verwendet, bevor Sie sie entschlüsseln können. Wo hast du die Schnur her?

    
nosklo 19.11.2009, 11:10
quelle
1

encode sollte für unicode -Objekte verwendet werden, um es in ein str zu konvertieren. Wenn Sie ein str-Objekt haben, sollten Sie decode verwenden, um es in ein unicode zu konvertieren.

    
rox 09.04.2011 15:24
quelle

Tags und Links