Câu trả lời:
Lệnh tiêu chuẩn cho điều đó là od
, đối với kết xuất bát phân (mặc dù với các tùy chọn, bạn có thể thay đổi từ bát phân sang thập phân hoặc thập lục phân ...):
$ echo Apple | od -An -vtu1
65 112 112 108 101 10
Lưu ý rằng nó xuất giá trị byte của mỗi byte trong tệp. Nó không có gì để làm với ASCII hoặc bất kỳ bộ ký tự nào khác.
Nếu tệp chứa A trong một bộ ký tự cho trước và bạn muốn xem 65, vì đó là byte được sử dụng cho A trong ASCII, thì bạn cần phải làm:
< file iconv -f that-charset -t ascii | od -An -vtu1
Đầu tiên để chuyển đổi tập tin đó thành ascii và sau đó kết xuất các giá trị byte tương ứng. Ví dụ, Apple<LF>
trong EBCDIC-UK sẽ là 193 151 151 147 133 37
( 301 227 227 223 205 045
theo bát phân).
$ 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
, Hoặc $YOUR_FAVORITE_LANGUAGE
tất cả có thể làm điều đó.
% 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'
)