Linux
如何列印文件中每個字元的(數字)ASCII 值?
如何列印文本文件中每個字元的數字 ASCII 值。喜歡
cat
,但僅顯示 ASCII 值…(十六進製或十進制都可以)。包含單詞Apple(帶有換行符)的文件的範例輸出可能如下所示:
065 112 112 108 101 013 004
用於八進制轉儲的標準命令是
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