UCS-2
歴史的には、UCS2は昔のUnicodeコンソーシアム起源、UCS-4は昔の(しかし少し後の)ISO-10646起源だろう。この頃(今でもだが)文字番号と符号化(ビットエンコーディング)の区別は厳密ではなくて、番号付けにビット表現も一緒に想定してたと思える。したがって、UCS-2もUCS-4もビット符号化の規則と言える。
UCS-2もUCS-4も牧歌的(ナイーブ)で、「文字とコードが1:1対応する」という理想を信じていたように思える。UCS-2は16ビット単位のコード空間、UCS-4は31ビットのコード空間を持ち、それぞれの空間を2次元(面)、4次元(面群、群の集まり)に構造化している。
Unicodeは中庸を取って、20/21ビットで面群までをサポートした -- たぶん16面一群だったと思う。これがUCS-4の第00群? だったような。ともかく、面群の最初の面=BMPにUCS2をそのまま埋め込み、サロゲートペアを使った16ビット単位可変長符号化を基準(canonical)にしたわけだ。現実は、8ビット単位可変長符号化が主流になったけど。
現時点でのUCS-2とは、UTF-8に制約を付けた符号化方式と解釈するのがいいのだろう、たぶん。
エンディアンを固定すれば、BOMも不要。付ける文字は制限されるがスッキリしてる。