アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイトルの通りなのですが、エディタで保存するときに文字コードを指定する、という意味がよく分かりません。

例えば、私はTeraPadを使っているのですが、その場合、「文字コード指定再読み込み」というところで、SJISやEUCなどを指定するのですが、これは何をしているのか?そもそも分かりません。

質問自体がぼやけててすみません。それくらい全体的に分かっていないのだと思います。

よろしくお願いします。

A 回答 (2件)

コンピュータは文字をコード化(バイト表現)して認識します。


そのコード体系は、SJIS、EUC以外にもUnicode、UTFなど100種類以上あります。
コード体系が異なれば、バイト表現と文字との関係も異なりますので、文字がちゃんと表現されない場合、文字コードを変えて読み込むために「文字コード指定再読み込み」という機能があります。
試しに、「あいうえお」と入力したファイルをSJISやEUCで読み込んでみてください。
SJISでは、「あいうえお」
EUCでは、「ア楹ア「ア、アヲ」
Unicodeでは、「?????」
と表示されます。
    • good
    • 0

Windows用のテキストエディタの多くは、プログラム内部での処理や編集画面への表示をShift-JISコードで行っています。


ファイルを保存する時に、特に指定しない場合、またはShift-JISを指定した場合には、そのまま、Shift-JISコードでファイルに書き込みますが、UNICODEを指定した場合には、プログラムの内部での処理に使用しているShift-JISコードをUNICODEに変換して保存し、(通常)ファイルの先頭にUNICODEを意味するBOM(Byte Order Mark)と呼ばれるものを書き込みます。
同様に、EUCを指定した場合には、Shift-JISコードをEUCコードに変換して書き込み、UTF-8を指定した場合には、Shift-JISコードをUTF-8コードに変換し、先頭にBOMを書き込みます。(それぞれ、読み込み時には逆の処理が行われて、画面上に正常な文字が表示されますが、保存時に指定した文字コードに対応していないエディタで開くと、文字化けしてしまいます。)
保存したファイルをバイナリファイルエディタで見ていただくとわかりますが、『エディタ』のカタカナ4文字+改行コードは、それぞれ、16進表記で、
Shift-JIS:83 47 83 66 83 42 83 5E 0D 0A
UNICODE:FF FE A8 30 C7 30 A3 30 BF 30 0D 00 0A 00
UTF-8:EF BB BF E3 82 A8 E3 83 87 E3 82 A3 E3 82 BF 0D 0A
EUC:A5 A8 A5 C7 A5 A3 A5 BF 0A
のように、まったく異なる内容で保存されます。
こんな煩雑なことになっているのは、OSによって標準的に使用される文字コードが異なっているためで、インターネット上でもサイトによって使われている文字コードが異なるために、時に文字化けなんて事が起きたりするわけです。
詳しくは、下記の解説をお読みください。

『Wikipedia:文字コード』
http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97% …
『同上:Shift JIS』
http://ja.wikipedia.org/wiki/Shift_JIS
『同上:Unicode』
http://ja.wikipedia.org/wiki/Unicode
『同上:UTF-8』
http://ja.wikipedia.org/wiki/UTF-8
『同上:EUC-JP』
http://ja.wikipedia.org/wiki/EUC-JP
『XML用語事典:BOM』
http://www.atmarkit.co.jp/aig/01xml/bom.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!