Quel est le meilleur moyen de convertir des To (UTF-16) à une chaîne de caractères?

Quel est le meilleur moyen de convertir un tableau d'octets déclaré que To pour une chaîne unicode en Delphi 2009? Dans mon cas particulier, le To tableau a codé en UTF-16 données déjà (2 octets pour chaque caractère).

Depuis To ne stocke pas un terminateur null, la suivante ne fonctionnera que si le tableau est arrive a #0 dans la mémoire adjacentes.

MyString := string( myBytes );

Si pas, la chaîne de résultat aura des données aléatoires à la fin (il pourrait aussi probablement à cause d'un lire la violation, selon combien de temps il a fallu à la rencontre d'une #0 dans la mémoire).

Si j'utilise le ToBytes fonction, il renvoie t "#0 e'#0 "#0 pas'#0, ce qui n'est pas ce que je veux.

OriginalL'auteur Jeremy Mullin | 2008-11-03