Puh, ist das kompliziert. ich werde es mir dann mal zu Gemüt führen.
Im Ernst: es ist weniger kompliziert als es aussieht.
Im Endeffekt ersetztet du jedes "zu große" Zeichen ($100000..$10FFFF) durch zwei andere, die im normalen Text nicht vorkommen (die Surrogates), also im nicht kodierten Text (UTF-32) als "Nichtzeichen" definiert und damit "verboten" sind.