linux下进制转换

linux下常用的进制转换工具:bc,hexdump,xxd,od

使用bc进行进制转换:

echo “obase=8;01234567″|bc

十进制转换为八进制

echo “obase=2;01234567″|bc

十进制转换为二进制

echo “obase=16;01234567″|bc

十进制转换为十六进制

echo “obase=10;ibase=8;4553207″|bc

八进制转换为十进制

echo “obase=10;ibase=2;100101101011010000111″|bc

二进制转换为十进制

echo “obase=10;ibase=16;12D687″|bc

十进制转换为十六进制

使用xxd进行进制装换

-b

转到 比特(二进制 数字) 模式, 而不是十六进制模式。在这种模式下, 每个字符被表示成八个 0/1 的数字,而不是一般的十六进制形式。每一行都以一个用十六进制形式表示的行号,后面是ascii (或者 ebcdic) 形式开头。命令行选项 -r, -p 在这个模式下不起作用。

-h

显示帮助信息后退出。

-l N

只输出 N 个字符。

-ps

以 postscript的连续十六进制转储输出,这也叫做纯十六进制转储。

-u

十六进制输出时使用大写字母,默认是小写字母。

echo test | xxd -b

将文字test转换为二进制

echo test | xxd -ps

将文字转换为十六进制

使用hexdump进行进制转换

hexdump test.txt

将文件以十六进制打开

echo test | hexdump -C

将test转换为十六进制输出

使用od进行进制转换

od b tmp

使用单字节八进制解释进行输出,注意左侧的默认地址格式为八字节

od c tmp

使用ASCII码进行输出,注意其中包括转义字符

od t d1 tmp

使用单字节十进制进行解释