Questão de TI - Desenvolvimento de Sistemas — JSON (JavaScript Object Notation) — VUNESP 2023
TI - Desenvolvimento de Sistemas›JSON (JavaScript Object Notation)
Código
vu196743
Banca
VUNESP
Órgão
UFABC
Ano
2023
Cargo
Téc ( )
Na notação JSON, de acordo com a especificação ECMA 404, a sequência \u000d, quando usada dentro de uma string, representa o caractere
Abackspace.
Bbarra normal.
Cbarra invertida.
Dretorno de carro (carriage return).
Ealimentação de linha (line feed).
Revelar gabarito e comentário▾
GabaritoD — retorno de carro (carriage return).
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
JSON: sequências de escape e caracteres de controle
Gabarito: letra D. Na notação JSON, conforme a especificação ECMA-404, a sequência de escape \u000d representa o caractere retorno de carro (carriage return, CR) — o mesmo que \r em muitas linguagens. A confusão clássica é com \u000a, que representa a alimentação de linha (line feed, LF).
A especificação ECMA-404 define que, dentro de uma string JSON, o caractere \u inicia uma sequência de escape Unicode: os quatro dígitos hexadecimais seguintes indicam o code point Unicode do caractere. O valor 000d em hexadecimal corresponde ao decimal 13, que é exatamente o code point do carriage return (CR). Já o line feed (LF) é o code point 000a (decimal 10).
Esses caracteres de controle vêm da tabela ASCII e são amplamente usados em protocolos de comunicação e sistemas operacionais. No JSON, eles não podem aparecer literalmente dentro de uma string — precisam ser representados por escapes como \r, \n ou \u000d, \u000a. A especificação permite que qualquer caractere Unicode seja representado com \u seguido de quatro dígitos hexadecimais, o que inclui os caracteres de controle.
Na prática, quando um parser JSON encontra \u000d dentro de uma string, ele o converte para o caractere CR (0x0D). Isso é útil, por exemplo, para representar quebras de linha em dados que serão processados por sistemas que usam CR como separador de linha (como o formato antigo do Mac OS).
A pegadinha da banca está em trocar \u000d por \u000a — o candidato que decora apenas "\n = line feed" pode marcar a letra E, mas a questão pede especificamente o valor 000d, que é o carriage return. Guarde a tabela:
Escape
Hexadecimal
Decimal
Caractere
\u000a
0A
10
Line feed (LF)
\u000d
0D
13
Carriage return (CR)
\u0008
08
8
Backspace
\u005c
5C
92
Barra invertida
NÃO CAIA NESSA!
A banca explora a confusão entre \u000d (CR) e \u000a (LF). Muitos candidatos associam "quebra de linha" a \n e marcam a letra E, mas o valor 000d é o retorno de carro. Decore: 0A = LF, 0D = CR — a ordem alfabética ajuda: A vem antes de D, e LF vem antes de CR na tabela ASCII.
Backspace é o caractere de controle com code point \u0008 (decimal 8), não \u000d. A banca coloca esse distrator para testar se o candidato conhece os valores hexadecimais dos caracteres de controle mais comuns.
Alternativa B — ❌ Incorreta
Barra normal (/) não é um caractere de controle e não possui escape \u específico — pode ser representada literalmente ou como \u002f. Não corresponde a \u000d.
Alternativa C — ❌ Incorreta
Barra invertida (\) é representada em JSON pelo escape \\ ou pelo code point \u005c (decimal 92). Não tem relação com \u000d.
Alternativa D — ✅ Correta ⟵ GABARITO
\u000d é exatamente o code point Unicode do carriage return (CR), também conhecido como retorno de carro. A especificação ECMA-404 define que \u seguido de quatro dígitos hexadecimais representa o caractere Unicode correspondente, e 000d = 13 = CR.
Alternativa E — ❌ Incorreta
Line feed (LF) é representado por \u000a (decimal 10), não \u000d. É o distrator mais perigoso, pois muitos associam "quebra de linha" a \n e esquecem que o valor hexadecimal específico é 000a.
Gabarito: letra D — \u000d representa o retorno de carro (carriage return).