Bonjour je suis actuellement en train d'apprendre le langage Swift et je n'arrive pas à comprendre comment fonctionne l'encodage UTF-16.
A la page 126 du livre "The Swift Programming Language" de Apple, il est indiqué que le caractère "DOG FACE" à la valeur décimale 55357 et 56374 ou U+D83D et U+DC36 en UTF-16. Mon problème et que je ne comprend pas comment passer cette valeur en UTF-8 (valeur décimale 240 159 144 182) ou en Unicode scalaire (valeur décimale 128054).
Le code binaire que je trouve pour l'UTF-8 et l'Unicode scalaire sont les mêmes :1 1111 0100 0011 0110
Mais la code binaire que je trouve pour l'UTF-16 est : 1101 1000 0011 1101 1101 1100 0011 0110
Je ne comprend pas si pour trouver la même valeur je doit additionner les 16 bits de mon 2eme code binaire (ce que j'ai déjà essayé mais ne donne pas la même valeur) et/ou si il y a une histoire de little endian qui rentre en compte.
PS: Si quelqu'un pourrais m'expliquer pourquoi à la page 61 0xC.3p0 vaut 12.1875 et non pas 12.3 ce serait sympa
Partager