
Unixの"od"コマンドの出力結果について「?」があります。
以下のようにコマンド入力しました。
$ echo あ | od -x
0000000 a082 000a
0000003
「あ」の文字コードは0x82A0のはずですが、"od"コマンドの出力結果は"a082"となります。
これはどうしてでしょうか?
困っているわけではないのですが、すごーく気になるので、どなたか教えてください。
OS環境はRedHat Linux7.3で、TeraTermを使ってログインし、コマンドを入力しています。
TeraTermの漢字コードは「SJIS」にしています。
「EUC」に設定した場合でも同様の現象です。
No.2ベストアンサー
- 回答日時:
CPU アーキテクチャは Intel ですね?
Intel CPU においては「リトルエンディアン(little endian)」という形式で
データが転送されたり格納されたりします。
これはどういうことかというと、2バイト以上の長さのデータでは
上位バイトと下位バイトが逆転するのです。
それで本来 0x82,0xa0 という並びになるはずの数値が 0xa0,0x82
という表現をとるわけです。
このように下位の(小さい=little)方(end)が先頭に来る CPU を「little endian」、
逆に Sun SPARC など素直に上位バイト、下位バイトの順に並ぶ CPU を
「ビッグエンディアン(big endian)」と呼びます。
ちなみに、この「リトルエンディアン(little endian)」や「ビッグエンディアン(big endian)」
という語はスウィフトの「ガリバー旅行記」に由来し、
卵の尖った方から食べるのが正しいと主張する一派を「リトルエンディアン」、
丸いほうから食べるべしと唱えた一派を「ビッグエンディアン」
と呼んだことから始まります。ハッカー(スーパープログラマ)一流の洒落ですね。
参考URL:http://www.atmarkit.co.jp/icd/root/00/49717200.h …
IBMのAIXで"od"コマンドを使ってみましたが、Linuxとは異なる結果(私が期待していた結果ですね)になりました。
とても勉強になりました。どうもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
compressコマンドってなくなっ...
-
コマンドプロンプトにおけるコ...
-
vbaで「最前面に」とする方法は?
-
UNIX コマンドにおける # や円...
-
ワイルドカードを使ってでフォ...
-
アクセスのボタンから指定のワ...
-
DOSコマンドについて
-
AIXでの文字コード、改行コード...
-
windowsでcatコマンド
-
[シェルスクリプト内で bashコ...
-
echo $!の意味を教えてください
-
Linuxコマンドは何の言語で書か...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
Excel下部のメニューが消えた
-
SCコマンドでアクセス拒否
-
Fedora15、dovecotpwの使い方
-
awkで本日日付の取得
-
cd-romドライブを閉じる コマ...
-
シェルスクリプト内のコピーコ...
-
「環境変数名の編集」ウィンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
shutdownコマンドをキャンセル...
-
UNIX コマンドにおける # や円...
-
至急です、Ubuntuに詳しい方助...
-
ワイルドカードを使ってでフォ...
-
SCコマンドでアクセス拒否
-
コマンドプロンプトにおけるコ...
-
Linuxコマンドは何の言語で書か...
-
compressコマンドってなくなっ...
-
[バッチファイル]レジストリ値...
-
Excel下部のメニューが消えた
-
AIXでの文字コード、改行コード...
-
vbaで「最前面に」とする方法は?
-
Linuxでコマンドが終了しない
-
「環境変数名の編集」ウィンド...
-
UNIXのコマンドが使えないんです
-
アクセスのボタンから指定のワ...
-
JP1での保留Job一覧取得につき...
-
windows10を使っています。 wsl...
-
Solarisでiノード数を確認する...
-
レコーダー換装用のHDDのAVコマ...
おすすめ情報