Representações Codificadas: utf8, utf16, unicodeScalars
Trabalhe com diferentes representações codificadas.
Representações Codificadas: utf8, utf16, unicodeScalars é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
Visões de codificação de strings
Uma String do Swift oferece várias visões do mesmo texto em diferentes níveis: utf8, utf16 e unicodeScalars.
let s = "Hi"
print(Array(s.utf8))
print(Array(s.utf16))A visão utf8
A visão .utf8 expõe a cadeia de caracteres como uma sequência de unidades de código UTF-8 (bytes). Os caracteres ASCII ocupam um byte cada.
let s = "AB"
for byte in s.utf8 {
print(byte)
}UTF-8 com vários bytes
Os caracteres não ASCII ocupam vários bytes UTF-8. Uma letra acentuada ou um emoji se expande para várias unidades de código.
let s = "\u{e9}"
print("UTF-8 bytes:", Array(s.utf8))A visão utf16
A visão .utf16 mostra unidades de código UTF-16. A maioria dos caracteres comuns ocupa uma unidade; os caracteres acima do plano básico usam duas, formando um par substituto.
let s = "A\u{1F600}"
print("UTF-16 units:", Array(s.utf16))A visão unicodeScalars
A visão .unicodeScalars expõe os pontos de código subjacentes, situando-se entre os caracteres e os bytes brutos.
let s = "Hi\u{1F600}"
for scalar in s.unicodeScalars {
print(scalar.value)
}Comparando as visões
A mesma cadeia de caracteres produz contagens diferentes em cada visão, pois as codificações representam os caracteres com números diferentes de unidades.
let s = "\u{1F600}"
print("characters:", s.count)
print("scalars:", s.unicodeScalars.count)
print("utf16:", s.utf16.count)
print("utf8:", s.utf8.count)Por que UTF-8
UTF-8 é a codificação predominante para arquivos e redes. A visão .utf8 permite produzir exatamente esses bytes.
let message = "OK"
let bytes = Array(message.utf8)
print(bytes)Por que UTF-16
UTF-16 é usado por algumas plataformas e interfaces de programação. A visão .utf16 permite interoperar com elas.
let s = "Hi"
print("UTF-16 count:", s.utf16.count)Reconstruindo uma cadeia de caracteres
Você pode reconstruir uma cadeia de caracteres a partir de bytes UTF-8 usando String(decoding:as:), completando um ciclo de ida e volta.
let bytes: [UInt8] = Array("Swift".utf8)
let restored = String(decoding: bytes, as: UTF8.self)
print(restored)Contando bytes versus caracteres
O comprimento em bytes difere do comprimento em caracteres para textos não ASCII. Escolha a visão que corresponde à sua tarefa: exibição ou armazenamento.
let s = "caf\u{e9}"
print("Characters:", s.count)
print("UTF-8 bytes:", s.utf8.count)Escolhendo a visão correta
Use caracteres para a lógica de exibição, escalares para a análise do Unicode e utf8 ou utf16 para codificação, armazenamento e interoperabilidade.
let s = "A\u{e9}\u{1F600}"
print("chars:", s.count, "scalars:", s.unicodeScalars.count, "utf8:", s.utf8.count)Verificação rápida
Relembre o que a visão utf8 contém.
Recapitulação: visões de codificação
Você aprendeu que uma String oferece as visões utf8, utf16 e unicodeScalars sobre o mesmo texto; que as contagens diferem porque as codificações usam tamanhos diferentes de unidade; e que você escolhe uma visão com base na necessidade de exibição, análise ou codificação para armazenamento e redes.
let s = "Hi\u{1F600}"
print("chars:", s.count, "utf8:", s.utf8.count, "utf16:", s.utf16.count)Aprenda Swift com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 122
- Aulas
- 409
Perguntas Frequentes
A aula “Representações Codificadas: utf8, utf16, unicodeScalars” é grátis?
Sim — o texto completo de “Representações Codificadas: utf8, utf16, unicodeScalars” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Representações Codificadas: utf8, utf16, unicodeScalars”?
Trabalhe com diferentes representações codificadas. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Representações Codificadas: utf8, utf16, unicodeScalars”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Caracteres e Agrupamentos de Grafemas
- Escalares Unicode e Pontos de Código
- Contagem e Iteração de Caracteres
- Representações Codificadas: utf8, utf16, unicodeScalars