IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Swift Discussion :

UTF-16 et valeurs de substitutions.


Sujet :

Swift

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut UTF-16 et valeurs de substitutions.
    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

  2. #2
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    En premier lieu, Swift utilise UTF-32 pas UTF-16 pour les caractères.

    Ensuite, ce n'est pas une addition de code binaire: il s'agit d'une "surrogate pair" (demi-zone d'indirection dans cet article)

    Sur ma copie du livre, la page pour le code UTF-16 de "Dog!🐶" est la page 140. On ne doit pas avoir la même version.

    Tu veux créer une chaîne à partir de codes UTF-16? Ne peux-tu pas juste utiliser NSString pour cela?

    Voir aussi les cours de formation pour apprendre la programmation swift : http://swift.developpez.com/cours-tutoriels/

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Non je ne cherche pas à faire une chaine de caractères en UTF-16. Je voulais juste savoir comment ça fonctionner.

    Je viens de lire la page Wikipédia et c'est exactement ce que je voulais savoir!

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération automatique de valeur pour un champ clé de substitution
    Par gaoussou dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 15/03/2011, 18h20
  2. Substitution de valeurs de champs
    Par JBLCN13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/11/2007, 17h10
  3. Réponses: 2
    Dernier message: 19/04/2007, 15h26
  4. replication de fusion:Substitution de la valeur de HOST_NAME()
    Par zalalus dans le forum Réplications
    Réponses: 1
    Dernier message: 07/04/2007, 00h55
  5. replication de fusion:Substitution de la valeur de HOST_NAME()
    Par zalalus dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/04/2007, 00h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo