質問: UTF8とASCIIは何が違うんですか?
回答: ASCIIはAmerican Standard Code for Information Interchangeの略ですので、 米国国家規格協会(ANSI,American National Standards Institute)が定めた7ビットで構成された文字コードです。日本では日本語を8ビット構成のバイトを2バイトで表現 する部分を付加したシフトJISを規格としています。インターネットが普及したことにより、日本語だけでは日本語以外の文字は文字化けしてしまう問題が発生し、全ての国の文字を扱えるUnicodeが提案されました、全ての国の文字コードを含める事で最終的に21ビットが必要になりましたが、インターネットの世界では8ビットの1バイトを単位として運用しているので、Unicodeを複数バイトで表現し、インターネットでもそのまま使えるようにした物がUTF8です。尚、UTF-8は文字コードを複数バイトで扱うので、プログラムにとっては扱いにくいのでプログラム内部ではUnicodeを16ビットの2バイトを基本としてUTF-16が使われています。今後新規で開発するプログラムは、極力内部はUTF-16で、外部はUTF-8で対応されると良いです。