Answers:
该标准针对的命令是od
,八进制转储(虽然选项,你可以从八进制到十进制或十六进制...更改):
$ echo Apple | od -An -vtu1
65 112 112 108 101 10
请注意,它输出文件中每个字节的字节值。它与ASCII或任何其他字符集无关。
如果文件在给定的字符集中包含A,并且您希望看到65,因为这是ASCII中用于A的字节,那么您需要执行以下操作:
< file iconv -f that-charset -t ascii | od -An -vtu1
首先将该文件转换为ascii,然后转储相应的字节值。例如,Apple<LF>
在EBCDIC-UK中将是193 151 151 147 133 37
(301 227 227 223 205 045
八进制)。
$ printf '\301\227\227\223\205\045' | iconv -f ebcdic-uk -t ascii | od -An -vtu1
65 112 112 108 101 10
hexdump
,od
,xxd
,或$YOUR_FAVORITE_LANGUAGE
都可以做到这一点。
% echo Apple | hexdump -C
00000000 41 70 70 6c 65 0a |Apple.|
00000006
% echo Apple | perl -ne 'printf "%vd\n", $_'
65.112.112.108.101.10
% echo Apple | clisp <( echo '(print (mapcar #'\''char-code (coerce (read-line *standard-input*) '\''list)))' )
(65 112 112 108 101)
%
python -c "print open('file', 'rb').read().encode('hex')"
echo 'Apple' | python -c "import sys;print sys.stdin.read().encode('hex')"
os.linesep
-> '\n'
)