人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

文字データについて質問です。
AIXやHP-UXやSolarisでマルチバイトのテキストファイルを作ったとします。
そのファイルに何の変更もされないようにしてIAマシンに持ってきてファイルをエディターで開いたとします。
私の想像では、エンディアンが違うから2バイト文字は文字化けするような気がします。
しかし、実際にはしません。
これはどうしてなのか、分かるサイトなどをご存知でしたら教えてください。
勝手ながらあやふやな情報はご遠慮ください。

●質問者: myawoo
●カテゴリ:コンピュータ
✍キーワード:AIX HP-UX IA solaris エディタ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● maq
●9ポイント

http://www.yahoo.com/

Yahoo!

文字コードとエンディアンは無関係だからです。以上。

◎質問者からの返答

文字コードとCPUという意味では関係ないと思います。

テキストデータのバイトの並び方ってどうなってるの?プラットフォームによって変わってくるの?という質問です。

何か勘違いしていますかね?


2 ● yamazo
●1ポイント

http://ew.hitachi-system.co.jp/w/E3838DE38383E38388E383AFE383BCE...

CP/IPで2バイト以上のデータ量を持つデータを転送する際は、ビッグエンディアンで送る事に定められている、とありますが、こういう事でよろしかったでしょうか?

◎質問者からの返答

残念ですが、これは全く関係ありません。


3 ● aki73ix
●30ポイント

http://winfaq.jp/

Windows.FAQ - ウィンドウズ処方箋

UNIXのエディタといってもMULEを使用した場合を例にとると文字コードはEUCでもSJISでもJISでもUNICODEでも作成できますM-x FILECODING-SYSTEM等で変更可能です

また、IAマシンに持ってきた場合エンディアン自体は一緒です、命令コード体型のエンディアンが異なるだけでデータファイルのエンディアンは共通になります。

残るは文字コードですが一部の文字コードは最近のWindowsなどでは自動判別できますが、やはり判別できないものは化けてしまいます

コード体型が1つのファイル内で統一されているならば、比較的簡単に文字コードを判断することがで来ますが、Windows標準のエディタは貧弱なのか出来ませんね。ただ、ファイルの先頭に、UNICODEなどの識別用のバイトを埋め込んでいるので新しいWindows間では判断できます

◎質問者からの返答

文字コードというか、テキストデータの仕様として、並び順は決まってるってことだと理解することにします。

ただ、私の場合文字データが格納されているメモリのダンプを他マシンに送ることを考えているのでやっぱり問題があるような気がしてきました。

やっぱり勘違いですかね?

折角ですが、文字コード判別とツールはまた別の話です。


4 ● lloigor
●30ポイント

http://kasumi.sakura.ne.jp/~gm/gpj/dev/tips/other/kanji.shtml

EUCやSJIS等の2byte文字であっても、データとしては1byteの文字型データの羅列として扱われます。

エディタやブラウザ等のプログラムがそれを解釈して2byte毎の区切りを判断しているわけです。

(そのため文字コードの判別に失敗すると「文字化け」が発生します)

1byteのデータの並びであるため、エンディアンは関係有りません。

単純に先頭から1byteずつ読み取って処理するだけです。

但し、UTF-16は16bit単位のデータですので8bit単位で配置する際にエンディアンが問題になります。

(規格上リトルエンディアンとビッグエンディアンの両方が許可されています)

そのため、テキストの先頭にBOMというデータを付加してそのデータがリトルエンディアンなのかビッグエンディアンなのかを示します。

BOMによってエンディアンの判別が可能ですので、エンディアンが異なるシステムにおいても文字化けは発生しません。

◎質問者からの返答

ありがとうございます。

質問の仕方が悪く、そのものずばりの回答は無かったのですが自分の中での疑問は解決しました。

みなさんありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ