176 votes

Qu'est-ce qu'une paire de substitution en Java?

Je lisais la documentation de StringBuffer, en particulier la méthode reverse (): Javadoc Link Here . Dans ce document, il est question de "paires de substitution". Qu'est-ce qu'une paire de substitution dans ce contexte? Quels sont les substituts bas et haut?

Merci.

151voto

Jeffrey L Whitledge Points 27574

Le terme "paire de substitution" désigne un moyen de codage de caractères Unicode avec la haute code-points dans le codage UTF-16 schéma.

Dans l'encodage de caractère Unicode, les caractères sont mappés à des valeurs comprises entre 0 x 0 et 0x10FFFF.

En interne, Java utilise le codage UTF-16 schéma de stocker des chaînes de texte Unicode. En UTF-16, 16 bits (deux octets) code unités sont utilisées. Depuis le 16 bits ne peut contenir la plage de caractères à partir de 0x0 à 0xFFFF, une complexité supplémentaire est utilisé pour stocker des valeurs au-dessus de cette plage (0x10000 à 0x10FFFF). Ceci est fait en utilisant des paires d'unités de code connu comme substituts.

La substitution des unités de code sont en deux gammes connu comme "faible mères porteuses" et "haute mères porteuses", selon qu'ils sont autorisés au début ou à la fin de la deuxième unité de code de la séquence.

26voto

Jeremiah Willcock Points 14674

Ce que dit la documentation, c'est que des chaînes UTF-16 non valides peuvent devenir valides après l'appel de la méthode reverse car elles pourraient être les inverses de chaînes valides. Une paire de substitution (décrite ici ) est une paire de valeurs de 16 bits en UTF-16 qui codent un seul point de code Unicode; les substituts bas et haut sont les deux moitiés de ce codage.

5voto

dfb Points 8807

Les paires de substitution font référence à la manière dont UTF-16 code certains caractères, voir http://en.wikipedia.org/wiki/UTF-16/UCS-2#Code_points_U.2B10000..U.2B10FFFF

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X