Ist es möglich, Binärdaten, die ein NUL-Zeichen enthalten, in die X-Zwischenablage zu kopieren?

Ist es möglich, Binärdaten, die ein NUL-Zeichen enthalten, in die X-Zwischenablage zu kopieren?

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 inxsel | hexdump

erhält nur aAusgabe.

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.

verwandte Informationen