Pesquisar

domingo, 9 de setembro de 2018

String e Substring

Em Swift uma String é composta por caracteres que são representados por grafemas e possuem uma representação mínima do sistema de escrita. Por exemplo quando utilizamos emojis em mensagens, eles são na verdade códigos unicode em que é convertido para imagens ou para algum outro caractere, por exemplo:


Esse emoji, possui como código o valor \u{270b}, quando utlizado em na String, ele possui a interpretação de um único caracter:


Porém temos como resultado a imagem ou quando utilizamos um caractere como uma letra com acento ã e que podemos representar da seguinte forma:


Mas o que é o Unicode?


É um padrão que permite a interpretação/manipulação dos computadores ao texto. Os mais conhecidos são UTF-8 e UTF-16, sendo UTF (Formato de Transformação Unicode que em inglês é Unicode Transformation Format) e o número em seguida tem como objetivo informar o número de bits por código.

O UTF-8 é o mais usado e compatível com o código ASCII. Conheça a lista do unicode através do site - http://www.unicode.org/Public/UCD/latest/charts/CodeCharts.pdf
Uma das mudanças em relação a String é em relação a composição através de um lista de caracteres e até o Swift 3.0 você deveria acessar da seguinte forma:


Agora a String é realmente tratada como uma lista de caracteres e você consegue percorrer os caracteres da seguinte forma com Swift 4:


Várias mudanças já foram feitas, na própria documentação constam 131 modificações e 87 novas funcionalidades na API.

Substring


A Substring representa uma parte da string e implementa o mesmo protocolo StringProtocol. O ganho nisso foi em relação a memória, pois agora a memória é compartilhada quando se trata da string original e ainda possui a mesma interface que a String.


Esse artigo foi uma breve introdução do que serão os próximos relacionados a String e Substring.