Um aplicativo precisa converter uma string codificada em UTF-8 para uma string contendo apenas caracteres ASCII do conjunto de maiúsculas (A..Z), minúsculas (a..z) e dígitos (0..9). Uma estratégia possível seria converter a string UTF-8 para um número decimal (por exemplo, somando o valor de cada byte da string) e depois converter esse número decimal para uma determinada base. Para atender ao requisito do aplicativo, o valor decimal obtido da string UTF-8 deveria ser convertido para a base
- A)26.
Errada, porque base 26 so comporta 26 simbolos, suficientes apenas para as letras maiusculas.
- B)36.
Errada, porque base 36 inclui 26 letras mais 10 digitos, mas nao inclui letras maiusculas e minusculas separadamente.
- C)52.
Errada, porque base 52 contempla maiusculas e minusculas, mas ainda nao reserva espaco para os digitos.
- D)62.
Certa, porque 26 maiusculas + 26 minusculas + 10 digitos totalizam 62 simbolos.
- E)64.
Errada, porque base 64 inclui mais simbolos do que o enunciado permite, normalmente com caracteres especiais alem de letras e digitos.
Gabarito: D
A ideia da questao e transformar a informacao em uma representacao numerica que possa ser reescrita usando um conjunto de simbolos limitado. Quando o problema pede apenas letras maiusculas, letras minusculas e digitos, voce precisa de uma base que comporte exatamente esses 62 simbolos: 26 maiusculas + 26 minusculas + 10 digitos. Isso e bem comum em codificacoes do tipo alfanumerica, porque mistura letras e numeros sem precisar de caracteres especiais. Se a string UTF-8 for convertida para um numero decimal e depois reescrita em outra base, a base escolhida precisa ter ao menos a quantidade de caracteres permitidos na saida. Como o conjunto desejado tem 62 caracteres, a base adequada e a base 62. As outras bases ficam curtas para o repertorio pedido: base 26 cobre so letras maiusculas, base 36 cobre letras maiusculas e digitos, base 52 cobre maiusculas e minusculas, mas ainda nao inclui os digitos. Portanto, o gabarito D esta correto porque e a unica base que contempla todos os caracteres solicitados.