Unicodeは文字集合で世界中から文字や記号を集めた物。
21bitで表現されて、収録可能な文字数は約209万字。(U+0000〜U+10FFFF)

U+0000〜U+10FFFFの範囲の文字を、ビットの並びとしてどう表現するかを決めたのが
符号化形式でいくつかの種類がある。
代表的な物は UTF-7 / UTF-8 / UTF-16 / UTF-32 など。

UTF-8はUnicodeを符号化する為の形式の一つ。
他のUTF-16やUTF-32と異なり、データの並びの順番(エンディアン)が一意に定まる。
ASCIIコードとの互換が高く、従来の文字列処理のやり方で扱いやすい符号化方法。
可変長なので、文章中の文字数をはじき出すには、文字数を数える必要がある。(=データサイズから文字数を求められない)
日本語を表現させるとシフトJISよりサイズが増えてしまうのが泣き所。