O comando padrão para isso é od
, para despejo octal (embora com opções, você possa alterar de octal para decimal ou hexadecimal ...):
$ echo Apple | od -An -vtu1
65 112 112 108 101 10
Observe que ele gera o valor de byte de cada byte no arquivo. Não tem nada a ver com ASCII ou qualquer outro conjunto de caracteres.
Se o arquivo contiver um A em um determinado conjunto de caracteres e você desejar ver 65, porque esse é o byte usado para A no ASCII, será necessário:
< file iconv -f that-charset -t ascii | od -An -vtu1
Para primeiro converter esse arquivo em ascii e depois despejar os valores de bytes correspondentes. Por exemplo, Apple<LF>
no EBCDIC-UK seria 193 151 151 147 133 37
( 301 227 227 223 205 045
em octal).
$ printf '\301\227\227\223\205\045' | iconv -f ebcdic-uk -t ascii | od -An -vtu1
65 112 112 108 101 10
python -c "print open('file', 'rb').read().encode('hex')"
echo 'Apple' | python -c "import sys;print sys.stdin.read().encode('hex')"
os.linesep
->'\n'
)