¿Es posible copiar datos binarios que contengan un carácter NUL al portapapeles X?

¿Es posible copiar datos binarios que contengan un carácter NUL al portapapeles X?

Si hago cualquiera de:

printf 'a\0b' | xsel
printf 'a\0b' | xsel -b
printf 'a\0b' | xclip
printf 'a\0b' | xclip -selection c

y luego pegue desde la selección correspondiente (PRIMARIO o PORTAPAPELES) en cualquiera de:

  • áreas de texto del navegador
  • editores de texto
  • tubería como enxsel | hexdump

solo aobtiene salida.

Entonces, ¿es posible almacenar datos binarios en el portapapeles y luego pegarlos? ¿Cómo?

Originalmente quería hacer esto para guardar imágenes en el portapapeles, lo que también resolvería:

Respuesta1

el portapapeleshacecontener la cadena completa:

$ printf 'a\0b' | hexdump -c
0000000   a  \0   b                                                    
0000003
$ printf 'a\0b' | xclip && xclip -out | hexdump -c
0000000   a  \0   b                                                    
0000003

Entoncesxclip -out voluntadimprima la entrada palabra por palabra, caracteres NUL y todo. Lo más probable es que la integración del portapapeles del escritorio detenga la salida en caracteres NUL. Un problema obvio al pegar caracteres NUL es que no sería visible para el usuario y, como tal, probablemente provocaría un comportamiento inesperado. Sin mencionar que inclusoEl software popular puede no manejar correctamente los caracteres NUL..

información relacionada