• ベストアンサー

文字コードについて

文字コードについて調べています!! ASCIIやunicode,jis,shift-jisなど色々なコードがあると思うのですが、 そもそも、パソコンには上記のコードや、表示⇒エンコード で選ぶことの 出来る、各文字コードの文字コード表が格納されているんでしょうか? ちょっとまだ勉強を始めたばかりで曖昧な質問になってしまったのですが、この疑問をどうして解消したくて… 色々と検索しても上記なようなことは探し出すことが出来なかったので どなたか教えてください!! よろしくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

No.1です。 >このような認識であってますでしょうか? 以下が微妙なところです。 >保存(EUC-JPを指定したことにより文字コードはEUC-JPに変換される) >↓ >保存するにあたりunicodeに変換される。 テキストエディタは、よほど詳細な設定項目がなければ認識している文字コードで保存します。 (別名で保存する際に、開いているファイルと別の文字コードで保存できるようなソフトもあります) ですのでUnicodeへの変換を行わずにEUCのまま保存している可能性があります。 そういった場合には、デフォルトでShift-JISが選ばれている場合には、EUCで保存されているファイルを指定なしで開けば文字化けを起こします。 >質問の仕方が悪かったので何度も回答していただいて申し訳ございません。 大丈夫ですよ。 こちらの書き方が悪い部分もあるでしょうから、疑問に思ったことはいくらでも質問してください。

osaka58
質問者

補足

ご返答が遅くなりました!! >大丈夫ですよ。 こちらの書き方が悪い部分もあるでしょうから、疑問に思ったことはいくらでも質問してください。 ありがとうございます!!! 本当に助かっております!!!! なるほど、保存する際は指定した文字コードにて保存されるんですね。 また更に根本的な疑問が起こってしまったのですが、作成したテキストファイルをHDDに保存する場合、Sjisを指定していた場合、「あああ」という中身だと「0X82A0 0X82A0 0X82A0」(本来は二進法で表現される)という風に保存されるという解釈であってますでしょうか? 。 そしてこの記事を参照にしたのですが http://www-06.ibm.com/jp/domino01/mkt/cnpages7.nsf/page/default-007ACA9B このファイルの名前を「あああ.txt」として保存する場合 ■NTFS ファイルシステムに保存する際は Unicode を使用(これはHDDに保存する際にファイル名はunicodeを使用するという意味ですよね?) という部分を参考にすると あああ.txtはファイル名は「U+3042 U+3042 U+3042 U+002E U+0074 U+0078 U+0074」(本来は二進法で表現される)とunicodeで保存される。 そして中身は「0X82A0 0X82A0 0X82A0」とSjisを指定して保存されるという流れになるのでしょうか? よろしくお願いします!!!!!

その他の回答 (4)

回答No.4

はい、コード表は格納されています。 UTF-8のように計算で求められるものについては分かりませんが、計算で求められないものには間違いなく表が必要です。 以前、 http://okwave.jp/qa4894892.html の質問に関連して探したのですが、Shift_JISのものを見つけました。 C:\WINDOWS\system32\c_932.nls というファイルがそれです。同じ場所に他の文字コード用のものもあるようです。 中を見ると、Unicodeに対応するShift_JISコードと、Shift_JISコードに対応するUnicodeが順に書かれていました。 このファイルを編集することで例えばメモ帳で「や」という文字を含んだShift_JIS形式のテキストファイルを作れなくすることができます。

osaka58
質問者

お礼

ありがとうございます!! また一歩理解が深くなります! (まだまだよく分かってないようですけど><)

回答No.3

No.1です。 >そういった変換するプログラムや文字コードの表などがPCにどのように格納されているのかが一番の疑問になってます。 >例えば、(中略)UTF用の文字コード表を持っている必要があるのでしょうか? 色々と技術的なこともあるのでざっと概略だけ PC(WindowsOS)の場合には、文字コードはすべてunicodeで管理されています。 何も設定がなければ文字コードは、unicodeもしくはデフォルト設定されたコードとして扱われます。 そして、unicode以外の場合にはunicode変換を行い表示に使用します。 変換を行う為には、算出式や文字コードの変換表が必要となります。 尚、UTF-8はunicodeのBMP面ですので特に変換表はありません。 >またそうだった場合はどこに格納されていて、ほかにはどんなものが格納されているのでしょうか? 格納場所は不明です(というか、気にしたことがない)。 WindowsでIMEを使用しているのであれば、 「IMEパッド」→「文字一覧」→「詳細表示」で特定の文字に対してのそれぞれの文字コードを一覧としてみることができますよ。

osaka58
質問者

補足

何度もお答えいただいて本当にありがとうございます!! SilverThaw様が教えてくれた内容を元にさらにネットで情報収集して 下記の認識に至りました。 このような認識であってますでしょうか? ---------------------------------------------- 現在のwindows osの内部コードはunicodeになっている。 EUC-JPを指定して保存出来るエディタによってテキストファイルを作成し、保存、そしてメモ帳で開くという流れのは色々と調べた結果 EUC-JPで保存できるエディタでテキストファイル作成(この時点ではまだ文字コードを指定していないのでデフォルトのShift_Jisになっている(コンパネの地域と言語のオプション⇒管理⇒unicode対応でないはないプログラム言語⇒日本語、の設定によりShift_jisの設定となっている)) ↓ 保存(EUC-JPを指定したことにより文字コードはEUC-JPに変換される) ↓ 保存するにあたりunicodeに変換される。 ↓ メモ帳で開く(保存の際にEUC-JPを明示しているがメモ帳はEUC-JPに対応していないためShift_JISに変換されて開く) ↓ 文字化けしてしまう ---------------------------------------- といった流れなんですがこれはあってますでしょうか? 質問の仕方が悪かったので何度も回答していただいて申し訳ございません。

回答No.2

No.1です >>表もありますが、ものによっては法則性があり計算式だけで変換できるものもあります。 >ここの部分を詳しく説明しているページなどはご存知ないでしょうか? 以下がそれなりに分かりやすい図がのっていると思います。 http://www.unixuser.org/~euske/doc/kanjicode/index.html 但し、JISについては「エスケープシーケンス」によって1Byte/2Byte文字の切り替えを行っているので、単純に当てはめることは危険です。 必ず「現在表示しようとしているのが1/2Byteどちらか」ということを保持している必要があります。 当然、文字コード体系は上記だけでないことは忘れないように。 (トロンコードとかも面白いし、昔々には12bitコードなんてのの変換処理も作ったこともある)

osaka58
質問者

補足

なるほどこのように変換されるんですね!! 仕組みを理解することも目的なのですが、いま一番ひっかかっているのが そういった変換するプログラムや文字コードの表などがPCにどのように格納されているのかが一番の疑問になってます。 例えば、googleの検索ページは<meta http-equiv="content-type" content="text/html; charset=UTF-8">と宣言されているから正常に表示するには、UTF用の文字コード表を持っている必要があるのでしょうか?またそうだった場合はどこに格納されていて、ほかにはどんなものが格納されているのでしょうか? 度々、申し訳ございませんがお答えを期待しております。

回答No.1

>そもそも、パソコンには上記のコードや、表示⇒エンコード で選ぶことの出来る、各文字コードの文字コード表が格納されているんでしょうか? 表もありますが、ものによっては法則性があり計算式だけで変換できるものもあります。(JIS、ShiftJIS、EUCは基本文字は相互に変換可能) http://ash.jp/code/ http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89

osaka58
質問者

補足

ご回答ありがとうございます!! 参考のURLのページ見ました(既に見ているページなんですが、僕が求めている部分は書かれていないようで><) >表もありますが、ものによっては法則性があり計算式だけで変換できるものもあります。 ここの部分を詳しく説明しているページなどはご存知ないでしょうか?

関連するQ&A

  • 漢字に関する規定がない、文字コード体系について教えて下さい!

    文字コード体系の中で、漢字に関する規定がないものを探しています。 ご存知の方がみえたら教えて下さい。。。。  (1)EUC-JP  (2)ASCII  (3)Shift_JIS  (4)JIS  (5)Unicode (1)~(5)の中で該当する文字コードはどれになるのでしょうか? 回答お願いします! 解説も添えてもらえると助かります^^;

  • ASP.NETの文字コードごとのフォントスタイルについて

    以前Unicodeでエンコードして保存したファイルを 日本語Shift-JISでエンコードしなおして保存したところ、 フォントスタイルがかわってしまいました。 各文字コードごとにデフォルトのフォントスタイルが決まっているのでしょうか?もし決まっているならば教えてください。 また、Shift-JISで保存したファイルの文字をUnicodeで保存したときのファイルと同じフォントスタイルにする方法をご存知でしたら教えてください。 ASP.NET初心者なため、ご教授お願いいたします。

  • 文字コードについて!

    文字コードについて! 文字コードのこれまでの歴史的経緯と 現状ではどのような場面で用いられているか が、調べても良く分からないので知ってらっしゃる方いませんか? ASCII、JIS、ShiftJIS、EUC,unicode どれか1つでも結構です(*Δ*) 様々な文字コードについての感想 インターネットにおける文字の扱いについても 個人的な意見でいいので、あれば聞かせてください^^

  • 文字コードの違い

    現在、情報系の勉強をしています。 文字コードの違いについて質問させてください。 パソコンの標準的なコード…シフトJIS Eメールに使用されるコード…JIS Webページに利用…EUC 世界各国に対応…unicode 7ビット…ascii とあるのですが、いろいろ調べても使い分けの違いが分からずに困っています。アドバイス頂けたら幸いです。

  • 漢字のコードを比較できるサイトってありませんか。

    最近仕事で、それぞれの漢字に対し、漢字のコード(ユニコード、Shift_JIS、JIS、EUC-JP)を比較できるように、一覧にしなければならなくなりました。 少し調べたところ、インターネット上には、それぞれの文字コード表はあるのですが、文字コードを横断した一覧というものは見つかりません。 それぞれの文字コード表を結合して、一覧にすることも可能だとは思うのですが、かなり時間がかかりそうなので、どこかのサイトに上記のような一覧がないものかと探しております。 ご存じの方がみえましたら、ご教授ください。

  • TeraPadの文字コード

    TeraPadの文字コードについて教えてください。 1. TeraPadで扱える文字コードは Shift-JIS、JIS、EUC、Unicode、UTF-8、UTF-8N の6種類あるようですが、このEUCとEUC-JPは 同じものですか? 2. Shift-JISで保存すると、TeraPadの下の部分に 表示される文字コードがSJISとなります。 これはShift-JISのことですか? 3. 短い文章では文字コードを誤認識する場合も あるようですが、どうしたら正しく認識 させられますか? 指定した文字コードで保存できず困っています。

  • 文字コードってUTF-8が主流に?

    文字コードについては、UTF-8が主流になりつつあるってネットで観ました。 文字コードを検索すると次のような説明があります。 (UTF-8のエンコード) UTF-8は、UnicodeとASCIIコードを混在させるための規格です。 (シフトJISコード) シフトJISコードは、SJISとも呼び、Microsoft社が決めたコードでWindows95やMS-DOSやMacなどで使用されています。 その上で質問です。 1、 UTF-8が主流になるってことは、Windows、MacがUTF-8に方向転換するってことでしょうか? 2、 仮にUTF-8が主流になっても、サイトに <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> と記述していれば文字化けなく表示されるのでしょうか? 今の時点では判断できない質問なのでしょうか・・

  • PHPの文字コードどのように設定すればいいですか?

    PHPをテキストエディタ(TeraPad)で、書こうとしているのですが、文字コードの設定がわかりません。 初期文字コード SHIFT-JIS JIS EUC Unicode UTF-8 UTF-8N いろいろあってどれを選んだらいいのかわかりません。 今はSHIFT-JISにしてます。 保存文字コード 自動 今は自動にしてます。 初期改行コード CR+LF 今はCR+LFにしてます。 保存コード 自動 今は自動にしてます 間違っている、又はこちらのほうがいいというのがありましたら是非教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • コピーすると文字コードが変わっちゃう

    プログラムを(ちなみにPHP)エディター(ちなみに秀丸)で入力して保存時にエンコードの種類を「Unicode(UTF-8)」で保存 もちろんプログラム(HTML/PHP記述)では <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> を指定しています 実行すると文字化けも起こらず正常にホームページが完成しました それをコピーして別のサーバーにアップすると正常にホームページが開かないんです 文字化けだけでなくソースが画面に表示されました そのソースも文字化けです コピー先をエディターで開くと「日本語(Shift-JIS)」になっていました コピー元は「Unicode(UTF-8)」です なぜでしょう? そもそも「Unicode(UTF-8)」をコピーするには単純にコピーしてはいけないのでしょうか? プログラムの量が結構あるのでこの「日本語(Shift-JIS)」を一括して「Unicode(UTF-8)」に保存できるようなツールはないのでしょうか?

  • VB.NET 文字コード

    ASKII文字コードを調べるにはどうしたらいいですか? VB.NETのエンコードはweb.configでshift-jisにしてあります。 任意の文字列から一字づつよみとって改行をみつけたら<br>タグに置き換えたいです。 どうしたらいいですか? どうかお願いいたします。