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


4

내가 다음 중 하나를 수행하면

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

그런 다음 다음 중 하나에 해당하는 선택 항목 (PRIMARY 또는 CLIPBOARD)에서 붙여 넣습니다.

  • 브라우저 텍스트 영역
  • 텍스트 에디터
  • 같은 파이프 xsel | hexdump

a출력 만 가져옵니다.

따라서 이진 데이터를 클립 보드에 저장 한 다음 나중에 붙여 넣을 수 있습니까? 어떻게?

원래 이미지를 클립 보드에 저장하기 위해이 작업을 수행하고 싶었습니다.

답변:


2

클립 보드 에 전체 문자열 이 포함되어 있습니다.

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

따라서 입력 된 그대로, NUL 문자 및 모두 xclip -out 를 인쇄합니다. 데스크톱 클립 보드 통합이 NUL 문자에서 출력을 중지했을 가능성이 높습니다. NUL 문자를 붙여 넣는 데있어 명백한 한 가지 문제점은 사용자에게 보이지 않으며 예상치 못한 동작을 유발할 수 있다는 것입니다. 널리 사용되는 소프트웨어 조차도 NUL 문자를 제대로 처리하지 못할 수 있습니다 .


흥미롭게도 입력 및 출력이있는 파이프를 시도하지 않았습니다 . xclip입력 또는 출력 중 하나가 켜져 있으면 실패합니다 xsel. 그러나 이것은 어떤 종류의 버그를 피합니까? 불필요한 제한처럼 느껴집니다.
— Ciro Santilli 新疆 改造 中心 996ICU 六四 事件
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.