Vues encodées : utf8, utf16, unicodeScalars
Travaillez avec différentes représentations encodées.
Vues encodées : utf8, utf16, unicodeScalars est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Vues d’encodage des chaînes
Une String Swift propose plusieurs vues du même texte à différents niveaux : utf8, utf16 et unicodeScalars.
let s = "Hi"
print(Array(s.utf8))
print(Array(s.utf16))La vue utf8
La vue .utf8 expose la chaîne comme une séquence d’unités de code UTF-8 (octets). Les caractères ASCII occupent chacun un octet.
let s = "AB"
for byte in s.utf8 {
print(byte)
}UTF-8 sur plusieurs octets
Les caractères non ASCII occupent plusieurs octets UTF-8. Une lettre accentuée ou un emoji s’étend sur plusieurs unités de code.
let s = "\u{e9}"
print("UTF-8 bytes:", Array(s.utf8))La vue utf16
La vue .utf16 affiche les unités de code UTF-16. La plupart des caractères courants occupent une unité ; les caractères situés au-delà du plan de base en utilisent deux, formant une paire de substitution.
let s = "A\u{1F600}"
print("UTF-16 units:", Array(s.utf16))La vue unicodeScalars
La vue .unicodeScalars expose les points de code sous-jacents, à mi-chemin entre les caractères et les octets bruts.
let s = "Hi\u{1F600}"
for scalar in s.unicodeScalars {
print(scalar.value)
}Comparer les vues
La même chaîne produit des décomptes différents dans chaque vue, car les encodages représentent les caractères avec des nombres différents d’unités.
let s = "\u{1F600}"
print("characters:", s.count)
print("scalars:", s.unicodeScalars.count)
print("utf16:", s.utf16.count)
print("utf8:", s.utf8.count)Pourquoi UTF-8
UTF-8 est l’encodage dominant pour les fichiers et les réseaux. La vue .utf8 vous permet de produire exactement ces octets.
let message = "OK"
let bytes = Array(message.utf8)
print(bytes)Pourquoi UTF-16
UTF-16 est utilisé par certaines plateformes et certaines API. La vue .utf16 permet d’interagir avec elles.
let s = "Hi"
print("UTF-16 count:", s.utf16.count)Reconstruire une chaîne
Vous pouvez reconstruire une chaîne à partir d’octets UTF-8 avec String(decoding:as:), ce qui réalise un aller-retour complet.
let bytes: [UInt8] = Array("Swift".utf8)
let restored = String(decoding: bytes, as: UTF8.self)
print(restored)Compter les octets et les caractères
La longueur en octets diffère de la longueur en caractères pour les textes non ASCII. Choisissez la vue adaptée à votre tâche : affichage ou stockage.
let s = "caf\u{e9}"
print("Characters:", s.count)
print("UTF-8 bytes:", s.utf8.count)Choisir la bonne vue
Utilisez les caractères pour la logique d’affichage, les scalaires pour l’analyse Unicode et utf8 ou utf16 pour l’encodage, le stockage et l’interopérabilité.
let s = "A\u{e9}\u{1F600}"
print("chars:", s.count, "scalars:", s.unicodeScalars.count, "utf8:", s.utf8.count)Vérification rapide
Rappelez-vous ce que contient la vue utf8.
Récapitulatif : vues d’encodage
Vous avez appris qu’une String propose les vues utf8, utf16 et unicodeScalars du même texte, que leurs décomptes diffèrent parce que les encodages utilisent des tailles d’unité différentes et que vous choisissez une vue selon que vous avez besoin d’affichage, d’analyse ou d’encodage pour le stockage et les réseaux.
let s = "Hi\u{1F600}"
print("chars:", s.count, "utf8:", s.utf8.count, "utf16:", s.utf16.count)Questions Fréquemment Posées
La leçon « Vues encodées : utf8, utf16, unicodeScalars » est-elle gratuite ?
Oui — le texte complet de « Vues encodées : utf8, utf16, unicodeScalars » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Vues encodées : utf8, utf16, unicodeScalars » ?
Travaillez avec différentes représentations encodées. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Vues encodées : utf8, utf16, unicodeScalars » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Caractères et groupes de graphèmes
- Scalaires Unicode et points de code
- Compter et parcourir les caractères
- Vues encodées : utf8, utf16, unicodeScalars