何かの拍子でテキストファイルが文字化けしてしまいました(以下に)。ツールを使い文字コードをsjis,euc,utfと変えて表示させてみましたが、やはり正常に表示されませんでした。復旧は無理でしょうか?


(sjis)
シ」シィwww-modeシヲシミシト・シホシァシメシァシナシァシラシァシ」シハ?シソシセシェシ」ジシトシタシヲシミシァシメシァシナシァシラシァシ」シテシャシト??シヲシミシヒ?シ、シヘシ」
http://www.google.com/search?client=opera&rls=ja&q=xyzzy+www-mode+%E3%83%90%E3%83%83%E3%83%95%E3%82%A1&sourceid=opera&ie=utf-8&oe=utf-8
(euc)
治示www-mode痔斜篠隯捨磁社磁偲磁遮磁治縞?漆湿耳治灼篠疾痔斜磁社磁偲磁遮磁治蔀蒔篠??痔斜舎?爾射治
http://www.google.com/search?client=opera&rls=ja&q=xyzzy+www-mode+%E3%83%90%E3%83%83%E3%83%95%E3%82%A1&sourceid=opera&ie=utf-8&oe=utf-8

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/05/13 14:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pascal7 No.3

回答回数584ベストアンサー獲得回数99

ポイント27pt

上記のコードはEUCのように見えます。

漢字コードが壊れた場合、コードを16進数にダンプして

漢字コード表に照らし合わせて解読していくことになります。


これはとても大変なことです。

そして、すでに壊れて回復不可能になっていると言う可能性もあります。

以下が漢字コード表です。

http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0213/index.html


例えば、文字の先頭は「シ」シィ」ですが

これを16進数で表すと 「BC A3 BC A8」になります。

これを表に照らし合わせますと「治 示 」となります。

0xBC 0xA3を「治」と読み

0xBC 0xA8を「示」と読んだとしてです。

0xA3 0xBCでも漢字として読めるので注意する必要があります。

読んでみておかしければ先頭が間違っているのだろうなと判断します。


と言うことで大変で、ほんとに壊れている部分があると回復しないですよ。

コードを16進数で表示するのは、

狐's バイナリエディタでも

http://www.vector.co.jp/soft/win95/util/se032901.html

秀丸でも出来ます。

http://hide.maruo.co.jp/

その他の回答2件)

id:bg5551 No.1

回答回数1184ベストアンサー獲得回数80

ポイント27pt

何のテキストかが判らないので断定できませんが、utf-8

でもだめでしょうか。

まずはどうゆう状況で文字化けが発生したのかを記した方が

解決が早いと思いますよ。

http://q.hatena.ne.jp/

id:moerrari

上の例に出した、元の文章が見つかりました。文字コードはsjisでした。

・www-modeの大量バッファ非表示+他のバッファ選択時の復帰法

http://www.google.com/search?client=opera&rls=ja&q=xyzzy+www-mod...

発生時の状況ですが, 自動スクリプトで別のファイルの文字コードをsjis/cr+lf→euc-jp/lf→sjis/lfと変換する処理をしていましたが手違いでこのファイルを処理してしまったらしく

その後, このファイルを閲覧したところ以上のように文字化けしていたものです。

2009/05/06 16:20:35
id:pascal7 No.3

回答回数584ベストアンサー獲得回数99ここでベストアンサー

ポイント27pt

上記のコードはEUCのように見えます。

漢字コードが壊れた場合、コードを16進数にダンプして

漢字コード表に照らし合わせて解読していくことになります。


これはとても大変なことです。

そして、すでに壊れて回復不可能になっていると言う可能性もあります。

以下が漢字コード表です。

http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0213/index.html


例えば、文字の先頭は「シ」シィ」ですが

これを16進数で表すと 「BC A3 BC A8」になります。

これを表に照らし合わせますと「治 示 」となります。

0xBC 0xA3を「治」と読み

0xBC 0xA8を「示」と読んだとしてです。

0xA3 0xBCでも漢字として読めるので注意する必要があります。

読んでみておかしければ先頭が間違っているのだろうなと判断します。


と言うことで大変で、ほんとに壊れている部分があると回復しないですよ。

コードを16進数で表示するのは、

狐's バイナリエディタでも

http://www.vector.co.jp/soft/win95/util/se032901.html

秀丸でも出来ます。

http://hide.maruo.co.jp/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません