Нулевые байты (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> >