ファイル内の各文字の(数字)ASCII値を印刷するには?

ファイル内の各文字の(数字)ASCII値を印刷するには?

テキストファイル内の各文字のASCII値を印刷する方法。に似ていますcatが、ASCII値のみを表示します...(16進数または10進数の両方で動作します)。

単語を含むファイルの出力例りんご(改行含む)は以下の通りです。

065 112 112 108 101 013 004

ベストアンサー1

これ基準od8進ダンプの場合、コマンドは次のようになります(オプションを使用すると、8進数から10進数または16進数に変更できますが...)。

$ echo Apple | od -An -vtu1
  65 112 112 108 101  10

ファイルの各バイトのバイト値を出力します。 ASCIIや他の文字セットとは何の関係もありません。

ファイルに指定された文字セットのAが含まれていてASCIIでAに使用されるバイトであるため、65が表示されると予想される場合は、次のことを行う必要があります。

< file iconv -f that-charset -t ascii | od -An -vtu1

まずファイルをASCIIに変換し、対応するバイト値をダンプします。たとえば、EBCDIC-UKでは(8進数)Apple<LF>です。193 151 151 147 133 37301 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

おすすめ記事