ビットで表すと、、、
16ビットのUNICODEの表で
00000000 0xxxyyyy (7bit)の文字は
UTF-8だと0xxxyyyy
ビッグエンディアンの環境でUTF-16だと00000000 0xxxyyyy
リトルエンディアンの環境でUTF-16だと0xxxyyyy 00000000
xxxxxxxx yyyyyyyy(16bit)の文字は
UTF-8だと1110xxxx 10xxxxyy 10yyyyyy
ビッグエンディアンの環境でUTF-16だとxxxxxxxx yyyyyyyy
リトルエンディアンの環境でUTF-16だとyyyyyyyy xxxxxxxx

こんな感じ。何が入ってるか事前にわからないとエンコードできないでしょ?