NUL 문자가 포함된 바이너리 데이터를 X 클립보드에 복사할 수 있습니까?

NUL 문자가 포함된 바이너리 데이터를 X 클립보드에 복사할 수 있습니까?

다음 중 하나를 수행하는 경우:

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

그런 다음 다음 중 하나에 해당 선택 항목(기본 또는 클립보드)을 붙여넣습니다.

  • 브라우저 텍스트 영역
  • 텍스트 편집기
  • 파이프 같은xsel | hexdump

출력 만 a받습니다.

그럼 바이너리 데이터를 클립보드에 저장했다가 나중에 붙여넣는 것이 가능한가요? 어떻게?

원래는 이미지를 클립보드에 저장하기 위해 이렇게 하고 싶었습니다. 그러면 다음 문제도 해결됩니다.

답변1

클립보드하다전체 문자열을 포함합니다:

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

그래서xclip -out ~ 할 것이다입력된 문자, NUL 문자 및 모두를 인쇄합니다. 데스크탑 클립보드 통합이 NUL 문자에서 출력을 중지할 가능성이 높습니다. NUL 문자를 붙여넣는 데 따른 한 가지 분명한 문제는 사용자에게 표시되지 않아 예상치 못한 동작이 발생할 가능성이 있다는 것입니다. 그건 말할 것도 없고 심지어널리 사용되는 소프트웨어는 NUL 문자를 제대로 처리하지 못할 수 있습니다..

관련 정보