很是头疼各种进制间的转化,linux下利用sed工具,printf等轻松搞定!
#16进制转ASCII 后面还反转解密了(可能会用到类似的东西,先写进去)
$echo "hexdata" | sed 's/\(..\)/\\\\x\1/g' | xargs echo -e |rev|base64 -d
example:
$echo "61" | sed 's/\(..\)/\\\\x\1/g' | xargs echo -e
稍微解释一下:s/re/str/g 表示整行将匹配到的转换为str,()表示和\1连用可以保存数据,和python中re模块里的语法类似。echo -e
选项会起到转义作用,\x就会理解为16进制啦。
#10进制转16进制
$echo 'ibase=10;obase=16;255'|bc
$printf %x\\n 255
等我有空再把其他都写进来