Immagino che il motivo sia stato veloce, come una matrice come l'accesso al personaggio all'indice, ma alcuni caratteri non si adattano a 16 bit, quindi non funzionerebbe ...
Quindi, se devi comunque gestire casi speciali, perché non usare solo UTF-8?