文字コード UTF-8

ASCII文字と互換性を持たせるために、ASCIIと同じ部分は1バイト、 その他の部分を2~6バイトで符号化します。
このため、文字数とデータサイズは比例しません。
UTF-8による符号化では、漢字や仮名などの表現に3バイトを要します。
このため、Shift_JISやEUC-JPで表していた文章をUTF-8に変換すると、 1.5倍程度サイズが大きくなってしまいます。

UTF-8で符号されたテキストデータはエンディアンに関わらず同じ内容になるので、 BOM(バイト順マーク Byte Order Mark)は必要はありません。
しかし、テキストデータがUTF-8で符号化されていることの標識として、 データの先頭にEF BB BF (16進。UCSでのバイト順マークU+FEFFのUTF-8での表現) を付加することがあります。
ただし、webページなどでこのBOMの付加されたファイルを表示すると BOM部分が「ゴミ」として表示されてしまいます。
また、windows標準の「メモ帳」はBOMなしのUTF-8ファイルの出力はできません。
他のエディタで作成したBOMなしファイルでもメモ帳で保存しなおすとBOMが付加されます。
エディタによってはBOMが付加されていないUTF-8ファイルは文字コードの判定に失敗することがあります。

UTF-8は以下のRFCで定義されています。
RFC 3629 UTF-8, a transformation format of ISO 10646
RFC 2279 UTF-8, a transformation format of ISO 10646