Ich habe eine Textdatei (tatsächlich eine CSV-Datei, die aus XLSX in LibreOffice exportiert wurde) mit Zeilen, die beim Öffnen in LibreOffice Calc einen Kauderwelsch aufweisen. In VIM sehen sie folgendermaßen aus:
Joe User, joe@user.com, p@ss<96>w0rd
Das <96>
war eine lustige Figur, die ähnlich war -
, aber MS Office hat beschlossen, sie in etwas anderes zu ändern. Die Datei ist daher nicht ASCII:
$ file -i Users.csv
Users.csv: text/plain; charset=unknown-8bit
Beachten Sie, dass alle diese "lustigen" Zeichen Codepunkte unter 127 haben, sodass ich wirklich nicht weiß, wie Calc und VIM erkennen, dass dies kein ASCII-Code ist. Welche anderen Codierungen haben alle Codepunkte unter 127, dh sind nicht ASCII-kompatibel? Wie kann ich in VIM nach diesen Zeichen suchen? Für Nicht-ASCII-Zeichen über 127 verwende ich /[^\x00-\x127]
zum Suchen, aber das wird natürlich nicht gefunden <96>
.
Die ursprüngliche XLSX-Datei befindet sich immer noch auf dem Windows-Computer eines anderen Benutzers, und ich kann in seinem MS Office mit Sicherheit überprüfen, dass das <96>
Zeichen nicht ASCII 96 ist `, sondern eine lustige Variante von '.
<96>
es sich um eine Dezimalzahl handelt, aber ich wusste nicht, dass es sich um eine Hexadezimalzahl handelt und daher über \ x7F (127) liegt. Vielen Dank!