Wenn ich eines der folgenden Dinge tue:
printf 'a\0b' | xsel
printf 'a\0b' | xsel -b
printf 'a\0b' | xclip
printf 'a\0b' | xclip -selection c
und fügen Sie dann aus der entsprechenden Auswahl (PRIMÄR oder ZWISCHENABLAGE) auf einer der folgenden Stellen ein:
- Browser-Textbereiche
- Texteditoren
- Rohr wie in
xsel | hexdump
erhält nur a
Ausgabe.
Ist es also möglich, Binärdaten in der Zwischenablage zu speichern und später einzufügen? Wie?
Ursprünglich wollte ich dies tun, um Bilder in der Zwischenablage zu speichern, was auch Folgendes lösen würde:
Antwort1
Die Zwischenablagetutenthalten die vollständige Zeichenfolge:
$ printf 'a\0b' | hexdump -c
0000000 a \0 b
0000003
$ printf 'a\0b' | xclip && xclip -out | hexdump -c
0000000 a \0 b
0000003
Alsoxclip -out
Willedruckt die Eingabe wörtlich, NUL-Zeichen und alles. Höchstwahrscheinlich stoppt die Desktop-Zwischenablage-Integration die Ausgabe bei NUL-Zeichen. Ein offensichtliches Problem beim Einfügen von NUL-Zeichen ist, dass es für den Benutzer nicht sichtbar wäre und daher wahrscheinlich zu unerwartetem Verhalten führen würde. Ganz zu schweigen davon, dass selbstBeliebte Software kann NUL-Zeichen nicht richtig verarbeiten.