質問: ANSI、Unicode、Unicode big endian、UTF-8の違いは何ですか。
回答: メモ帳で文書を保存する時のエンコードのお話ですね。 コンピュータの世界は0と1でできていて、文字をそのまま解釈することはできません。そこで文字を0と1の集合に置き換えるのですが、この置き換え方には色々な方法があります。同じ文字でも置き換え方によってどのように表されるかが違います。この「置き換え方」のことを「文字符号化方式(エンコード)」と言います。 ■ANSI 一般に「Shift_JIS」と呼ばれているエンコードがこれにあたります。Web制作でもよく使われています。 Shift_JIS - Wikipedia ■Unicode・Unicode big endian・UTF-8 Unicodeという、世界中のたくさんの文字が収められた巨大な文字集合があります。1つのエンコードでたくさんの言語で使われている文字を表すことができるのが特徴です。 Unicodeの中にはさらにいくつかのエンコードがあり、Unicodeに存在する同じ文字でも、符号化したときの表し方が違います。ご質問の「Unicode」と「Unicode big endian」はそれぞれUTF-16というエンコードで、よく似ています。UTF-8はUTF-16とは別のエンコードですが、Unicodeであることに変わりはありませんので、Unicodeのたくさんの文字を扱うことができます。 Unicode - Wikipedia ------------ 具体例として、「あ」という文字を考えてみましょう。「あ」をそれぞれのエンコードで符号化してみると、 Shift_JIS → 82 A0 Unicode → 30 42 Unicode big endian → 42 30 UTF-8 → E3 81 82 となります。これは16進数で表していて、2桁で1バイトになります。「0と1だけじゃないじゃないか!」と思われるかもしれませんが、それぞれのバイトをさらに分解すると0と1の集まりにもなります。 ------------ カテゴリがホームページ作成なのでWeb制作の場面を考えると、基本的には日本語のWebサイトはShift_JIS、EUC-JP、UTF-8のいずれかを用いて作られることが多いです。なので、これらのどれか、メモ帳で言うならANSIかUTF-8を選んでおけばよいでしょう。 ただし、メモ帳のUTF-8はBOMという記号が必ず入るようになっているため、特定のシステム等においては不具合が生じる可能性もあります。なので、UTF-8を使うのであれば他のHTMLエディタなどを使って、BOMが入らないようにするのが望ましいと思います。