-1
我將一些十六進制ascii管道到perl中,並且希望使用它的打印功能將這些東西打印到文件中。然而六角不打印爲ASCII,但作爲普通字符串perl打印從arg輸入十六進制ascii輸入
echo "\x48\x32\x35\x45" "\x90\xc1\xe2\x7a" | perl -e' @string = split " ",<>; print ${string[0]},chr(0),"$string[1]";' > input.txt
然而,這給出input.txt的以下
\x48\x32\x35\x45^@\x90\xc1\xe2\x7a
,它應該看上去更像
H25E^@<90><C1><E2>z
這是你想要的嗎?echo -en「\ x48 \ x32 \ x35 \ x45 \ x90 \ xc1 \ xe2 \ x7a」'?甚至是'echo -en「\ x48 \ x32 \ x35 \ x45 \ x90 \ xc1 \ xe2 \ x7a」|貓-A'? – hek2mgl
0x7F以上的任何字符代碼都不是ASCII。你是說你想讓小於0x2o的任何東西都顯示爲「^ @」等,並且任何超過0x7E的顯示爲「<7F>」? – Borodin