echo -n 5a | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie'
请注意,这不会跳过非十六进制字符。如果只需要十六进制(原始字符串中没有空格等):
echo 5a | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie'
此外,zsh
并bash
在echo
以下方面提供本机支持:
echo -e '\x5a'
如何在Linux Shell中将十六进制转换为ASCII字符?
echo -n 5a | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie'
请注意,这不会跳过非十六进制字符。如果只需要十六进制(原始字符串中没有空格等):
echo 5a | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie'
此外,zsh
并bash
在echo
以下方面提供本机支持:
echo -e '\x5a'