← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

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

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.

Continue treinando

Questões relacionadas