- 締切済み
2バイト文字から元の1バイト文字を見つけたい(その逆も)
2バイト文字から元の1バイト文字を見つけることはできませんか? 文字コード表から、手作業で目的のコードを探してやれば、自力で変換することは出来ます。 が、しかしもっと効率よく一発変換なるものはないでしょうか?。 例えば「保狂鏡凝」こういう文字列があった場合。 保 狂 鏡 凝 4A5D 3638 3640 3645 ハ ン カ ク カ タ カ ナ 4A 5D 36 38 36 40 36 45 したがって「保狂鏡凝」は「ハンカクカタカナ」と解読することができるます。 それから、逆に半角文字の「ハンカクカタカナ」から「保狂鏡凝」と変換したいです。 どなたかこのような機能を持つフリーウェアご存知でしたら教えてください。 できればXPで動くものが理想です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mrumesuke
- ベストアンサー率45% (254/557)
バイナリエディタ+IEで解決できそうです。 " 保狂鏡凝 [改行]"という内容のテキストファイルがあるとします。(参考URLによると『行の始まりは、ASCII で始まる。行の終わり(改行の直前)は、ASCII 文字で終わる。』という決まりがあるとのことなのでそれに従いました。) このファイルをバイナリエディタで開くと 20 1B 24 42 4A 5D 36 38 36 40 36 45 1B 28 42(または4A) 20 0D 0A ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ となっていると思います。 先頭の20が半角スペース、それに続く1B 24 42(JIS X 0208=第1水準漢字、第2水準漢字等開始のエスケープシーケンス)を1B 28 49(JISカナ=半角カナ開始のエスケープシーケンス)に変更して保存します。そのファイルをIEで開くと「 ハンカクカタカナ 」と半角で表示されるはずです。 IE6.0/Windows2000SP4で確認しました。 ちなみに1B 28 42はASCIIコード開始の、1B 28 4AはJISローマ字開始のエスケープシーケンスです。厳密に言うと、1B 28 4Aでは『行の終わり(改行の直前)は、ASCII 文字で終わる。』というルールに則っていないことになります。
- ranx
- ベストアンサー率24% (357/1463)
4A5Dが「保」となるコードはJISですね。 コンピュータ上で直接使っている例は少ないと思いますが、 Eメールなどでは、それを組み込んだ形で使われています。 元来は2バイトコードと1バイトコードが別々に定義されて いるものなのですが、Eメールなどでは、「エスケープシーケンス」 と呼ばれるコードを挿入することで、エンコーディングを 切り替えられるようになっています。 ですので、そうしたツールであれば、適当なエスケープシーケンスを 挿入したり取り除いたりすることで、別のエンコーディングによる 表示に切り替えられるはずです。 具体的にどういうコードを入れるかは・・・ごめんなさい。 知りません。暇があったら探してみます。
- mrumesuke
- ベストアンサー率45% (254/557)
JISだったようですね。 Stirlingは残念ながらJISには対応していません。 よって#1は見当違いなアドバイスでした。スミマセン。。。 # 確認してから書き込めばよかった・・・(^^A;
- mrumesuke
- ベストアンサー率45% (254/557)
4A 5D 36 38...って文字コードなんですか? UTF-8でもないようですが。。。 CA DD B6 B8 B6 C0 B6 C5ではないですか? そうだと仮定して話を進めると、バイナリエディタで直接バリナリデータを参照すればよろしいかと。 CA DD...の場合、参考URLのStirlingでキャラクターセットSHIFT-JISを選択すると「ハンカクカタカナ」が、EUCを選択すると「保狂鏡凝」が表示されます。 (4A 5D 36 38...では「J]68」です。) 動作OS:Windows98 Windows95 WindowsNTとなっていますが、2000でもXPでも動作するようです。