そもそもUnicodeといえばUTF-16のことで、いまでもUTF-16のことをUnicodeと呼ぶことが多い。

Windows、JavaなどはUTF-16を先進的だと思って取り入れたから、UTF-8への対応が難しい。

UTF-8も一長一短があって、容量とマシンスペックの問題がなんとかなってきたから、UTF-8に向かっているが、この面倒くさいキャラクタセットは、1バイト文字がどのキャラクタセットなのかわからないというデメリットがある。

2バイト以上使う文字では、何のメリットもなく、言葉を表現するには明らかに退化している。