Ich lese SQLASCII-Strings aus einer Datenbank und stieß auf einige Bytes, die nicht richtig dekodiert wurden, basierend auf der Big5-Codierung, die ich deklariert habe. Unten ist das vereinfachte Problem. Es scheint, dass die große 5 Kodierungstabelle für Python nicht weiß, wie diese 2 Zeichen zu entschlüsseln sind. Soweit ich das beurteilen kann (ich bin kein Experte), sind dies gültige chinesische Zeichen, da ich Notepad ++ benutzen kann und die Kodierung so ändern kann, dass sie als chinesische Schriftzeichen angezeigt werden. Ich habe verglichen, wie sie in Notepad ++ mit dieser Website aussehen, und die Zeichen stimmen überein, also nehme ich an, dass sie gültige Bytes für die Kodierungstabelle big5 sind.Python 3 kann nicht dekodieren xBD xC6 xBB x73 mit big5
http://ash.jp/code/cn/big5tbl.htm
by = b'\xBD\xC6\xBB\x73'
print(by,len(by))
print(by.decode('big5'))
b '\ XBD \ XC6 \ xbbs' 4
Traceback (letzter Anruf zuletzt): File "qtest1.py", Zeile 15, in Druck (durch .decode ('big5')) Datei "C: \ Python32 \ lib \ encodings \ cp1252.py", Zeile 19, in encode Rückgabecodecs.charmap_encode (input, self.errors, encoding_table) [0] UnicodeEncodeError: 'charmap' Codec kann Zeichen in Position 0-1 nicht codieren: Zeichenkarten zu
Alle
Ich hätte härter suchen sollen, ich habe seitdem diesen Link..http: //wiki.python.org/moin/PrintFails gefunden und in IDLE getestet. – Goog