Wie werden ungültige Unicode-Zeichen in einer Zeichenfolge in Python ersetzt?

Soweit ich weiß, ist es das Konzept von Python, nur gültige Zeichen in einer Zeichenfolge zu haben, aber in meinem Fall liefert das Betriebssystem Zeichenfolgen mit ungültigen Codierungen in Pfadnamen, mit denen ich mich befassen muss. Am Ende stehen also Zeichenfolgen, die Zeichen enthalten, die kein Unicode sind.

Um diese Probleme zu beheben, muss ich diese Zeichenfolgen irgendwie anzeigen. Leider kann ich sie nicht ausdrucken, da sie Nicht-Unicode-Zeichen enthalten. Gibt es eine elegante Möglichkeit, diese Zeichen zu ersetzen, um zumindest eine Vorstellung vom Inhalt des Strings zu bekommen?

Meine Idee wäre, diese Zeichenketten zeichenweise zu verarbeiten und zu prüfen, ob das gespeicherte Zeichen tatsächlich ein gültiger Unicode ist. Im Falle eines ungültigen Zeichens möchte ich ein bestimmtes Unicode-Symbol verwenden. Aber wie kann ich das machen? @ Verwendcodecs scheint für diesen Zweck nicht geeignet zu sein: Ich habe bereits einen vom Betriebssystem zurückgegebenen String und kein Byte-Array. Das Konvertieren eines Strings in ein Byte-Array scheint eine Dekodierung zu beinhalten, die in meinem Fall natürlich fehlschlagen wird. Es scheint also, dass ich feststecke.

Hast du einen Tipp für mich, wie man einen solchen Ersatzstring erstellen kann?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage