Нулі байти (ASCII 0x00) не здаються копіюваними (Ctrl + C)) у Windows. Щоб продемонструвати це, відкрийте консоль розробника свого браузера та зробіть це console.log('a\x00b')
. Якщо ви спробуєте скопіювати отриманий рядок на машину Windows 8 (і, ймовірно, і інші версії Windows), ви побачите, що a
копіюється лише отримане . \x00
І все після нього ігнорується.
Чи є якийсь спосіб скопіювати цілість рядка, що містить нульові байти? Чи може буфер обміну вмістити навіть нульові байти?
(Допоміжний запитання: чому не можна скопіювати нульові байти? Наприклад, чи є причина, пов’язана з безпекою, чи це просто Windows, що нерозумно?)
C:\>echo 000000| xxd -r -p|gclip<ENTER> C:\>pclip|xxd -p<ENTER> C:\>pclip>a.a<ENTER>
<- мені незрозуміло, чи нули збираються у буфер обміну .. чи вони входять, але не вставляються.
C:\>echo 000000| xxd -r -p|xxd -p<ENTER> 000000 C:\>echo 000000| xxd -r -p|clip<ENTER> >