So entfernen Sie diese mit "\x00\x00"

So entfernen Sie diese mit "\x00\x00" in einem string ?
Ich habe viele strings (Beispiel siehe unten). Ich kann über die re.sub solche zu ersetzen, die "\x00". Aber ich Frage mich, ob es einen besseren Weg gibt, das zu tun ? Konvertierung zwischen unicode, Byte und string ist immer verwirrend.

'Hello\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'.

Abgesehen vom entfernen der \x00 aus Ihrem string, möchten Sie vielleicht setzen einige Gedanken in, warum haben Sie Sie in den ersten Platz. Vielleicht ist der code, baut die strings könnten mit Ihnen umgehen?
Der code, den Sie schrieb, produziert dieser string ist wahrscheinlich falsch.
Es ist, weil ich bin ein C-wrapper, wo sollte ich, sofern maximal mögliche Länge für die Zeichenfolge. Für diejenigen Streicher, die kurzen, "\x00"s werden hinten angehängt.
in der C-wrapper, berücksichtigen, einschließlich der tatsächlichen Länge der Daten bei der Konvertierung des char-Arrays in ein Python-Objekt. strlen auf einem array schneller als eine Python-str.rstrip oder str.ersetzen, und machen die Python-Schnittstelle intuitiver. Vielleicht docs.python.org/3.5/c-api/bytes.html und PyBytes_FromStringAndSize() helfen würde.

InformationsquelleAutor Luffy Cyliu | 2016-08-10

Schreibe einen Kommentar