Sobre codificação de caracteres em sistemas computacionais, analise as afirmativas a seguir. I. UTF-8 representa qualquer caractere universal do padrão Unicode. II. O comprimento do código UTF-8 pode ser de 1 a 4 bytes, dependendo do caractere representado. III. A codificação UTF-8 é compatível com a codificação dos 128 caracteres do código ASCII. Está correto o que se afirma em
- A)I, apenas.
Essa alternativa afirma que apenas a I estaria correta, ou seja, que o UTF-8 conseguiria representar qualquer caractere do Unicode. O problema é que, além de a I ser verdadeira, a II também é verdadeira na forma atual do UTF-8, que usa de 1 a 4 bytes por código de ponto, e a III também é verdadeira, pois os 128 caracteres ASCII mantêm a mesma codificação. Assim, a alternativa fica incompleta ao excluir duas afirmações corretas.
- B)I e II, apenas.
Aqui se sustenta que somente as afirmativas I e II estariam corretas. De fato, a I é verdadeira porque o UTF-8 cobre todo o repertório Unicode, e a II também é verdadeira porque o padrão moderno limita a codificação a 1 a 4 bytes, conforme a especificação atual do UTF-8. O erro está em desconsiderar a III, já que o UTF-8 é compatível com ASCII nos 128 primeiros caracteres, preservando exatamente os mesmos valores binários.
- C)I e III, apenas.
Esta opção diz que apenas I e III estão corretas. As duas realmente procedem: o UTF-8 representa qualquer caractere do Unicode e mantém compatibilidade com ASCII para os 128 primeiros símbolos. Contudo, ela ignora a II, que também está certa, porque o UTF-8 moderno é uma codificação de comprimento variável entre 1 e 4 bytes, dependendo do caractere.
- D)II e III, apenas.
A alternativa afirma que as afirmativas II e III estão corretas. Isso faz sentido porque o UTF-8, na sua forma atual, usa 1 a 4 bytes por caractere e preserva a compatibilidade com o ASCII nos 128 primeiros códigos. O ponto falho é excluir a I, já que o UTF-8 foi projetado para codificar todo caractere do padrão Unicode, não apenas parte dele.
- E)I, II e III.
Esta é a alternativa correta porque reúne as três afirmações verdadeiras. O UTF-8 representa qualquer caractere do Unicode, utiliza comprimento variável de 1 a 4 bytes na especificação atual e é compatível com ASCII nos 128 primeiros caracteres, em que a codificação é idêntica. Esse conjunto de propriedades é exatamente o que caracteriza o UTF-8 na prática e nas especificações modernas, como a RFC 3629.
Gabarito: E
UTF-8 e Unicode caminham juntos no mundo da codificação de caracteres. O Unicode é o padrão que atribui um número para cada caractere de praticamente todos os sistemas de escrita, símbolos e emojis; já o UTF-8 é uma forma de guardar esses códigos em bytes dentro do computador. Em outras palavras, Unicode diz "qual caractere é", e UTF-8 diz "como isso vai caber na memória". A afirmativa I está correta porque o UTF-8 consegue representar qualquer caractere do padrão Unicode, desde que esse caractere esteja dentro do conjunto definido pela norma Unicode atual. É justamente por isso que ele virou o queridinho da internet: serve para textos em várias línguas sem dor de cabeça. A afirmativa II também está correta: o UTF-8 usa de 1 a 4 bytes por caractere, dependendo do ponto de código. Os caracteres mais simples usam menos espaço, e os mais complexos usam mais. O sistema é esperto e economiza bytes quando pode. A afirmativa III também está correta porque o UTF-8 é retrocompatível com o ASCII nos 128 primeiros caracteres. Assim, textos antigos em ASCII continuam sendo lidos corretamente como UTF-8. Por isso o gabarito é E: as três afirmações estão certas.