Tools zum Konvertieren von 8-Bit-C1-Steuerzeichen in ESC-Sequenzen?
Der ECMA-48-Standard ("ANSI-Escape-Sequenzen") beschreibt zwei Möglichkeiten, den C1-Satz von Steuercodes zu codieren: Verwendung von 2-stelligen ESC-Sequenzen oder alternativ von 8-Bit-Steuerzeichen.
Wikipedia-Artikel erklären, dass die zweizeiligen ESC-Sequenzen besser für UTF-8 geeignet sind.
Zitieren aus ANSI-Escape-Code :
Der Standard besagt, dass diese 2-Byte-Sequenzen in 8-Bit-Umgebungen zu einem C1-Steuercode im Bereich 0x80–0x9F zusammengeführt werden können. Bei modernen Geräten werden diese Codes jedoch häufig für andere Zwecke verwendet, z. B. für Teile von UTF-8 oder für CP-1252-Zeichen. Daher wird nur die 2-Byte-Sequenz verwendet.
und von den Steuercodes C0 und C1 :
Die C1-Zeichen in Unicode erfordern, dass 2 Byte in UTF-8 codiert werden (z. B. wird CSI bei U + 009B als Bytes 0xC2, 0x9B in UTF-8 codiert). Daher wird häufiger auf die entsprechenden Steuerfunktionen unter Verwendung der äquivalenten Zwei-Byte-Escape-Sequenz zugegriffen, die zur Verwendung mit Systemen gedacht ist, die nur 7-Bit-Bytes haben.
Gibt es Befehlszeilentools, mit denen 8-Bit-C1-Steuerzeichen (gemäß ECMA-48) direkt in zweistellige ESC-Sequenzen umgewandelt werden können?
Mein bisher bester Versuch war zu versuchen und zu verwenden iconv
:
$ printf $(echo -en "\x9b") | iconv --from-code=ANSI_X3.4 --to-code=UTF-8 | od -t x1 iconv: illegal input sequence at position 0
Für Debugging-Zwecke verwende ich od -t x1
, um das Ergebnis wieder in Hexadezimalformat zu rendern. Das Ergebnis, das ich erhoffe, wäre dasselbe wie das Ergebnis des Laufens:
$ printf $(echo -en "\x27[") | od -t x1 0000000 27 5b 0000002
Gibt es mit anderen Worten ein Befehlszeilentool, mit dem Sie ein C1-Steuerzeichen wie Pipe einleiten \x9b
und eine Escape-Sequenz wie erhalten können \x27[
?
BEARBEITEN: Oder wie egmont zu Recht eher ein interaktives Werkzeug vorschlägt als etwas, in das Sie hineinpfeifen.
0 Antworten auf die Frage
Verwandte Probleme
-
2
Wie wird das Escape-Zeichen auf dem OS X-Terminal gesendet?
-
1
Wie entsperren Sie eine gesperrte Alias-Datei in OS X?
-
4
Verwenden Sie öffentliche Terminals, um sich mit Ihren persönlichen Zugangsdaten anzumelden
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
2
Mac OS X: einfaches Skript gesucht
-
4
Transparentes Unicode X-Terminal, das nicht an eine Desktop-Umgebung gebunden ist?
-
6
Unicode, Unicode Big Endian oder UTF-8? Was ist der Unterschied? Welches Format ist besser?
-
3
Vim: Wie behandelt man Unicode-Dateien mit Text in mehreren (mehr als zwei) Sprachen?
-
3
OSX-Fenstergruppen