请教在shell中怎么把10进制字符转换成16进制形式输出

请问在shell中如何把10进制字符转换成16进制形式输出?
如题。另外如何输出字符的ascii码?谢谢!

------解决方案--------------------
linux可以printf "%X" 100
求ascii我也没好办法,利用其它类型的脚本吧
------解决方案--------------------
printf "%x" 123
------解决方案--------------------
如果是把10进制数转换成16进制数格式,就用 printf "%x" 123

但是如果是把10进制字符转换为16进制字符,就用od命令。 

od 命令,通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件

eg: echo "helloworld" | od -tx1
------解决方案--------------------
echo "helloworld" | od -tx1

LS的管道符号
------解决方案--------------------
BatchFile code
echo "helloworld" | od -tx1