Como usar
- Escolha Codificar para transformar texto em números decimais ou Decodificar para transformar números de volta em texto.
- Digite ou cole a entrada, ou abra um arquivo. O resultado é atualizado enquanto você digita.
- Escolha um separador para os números: Espaço, Vírgula ou Nova linha.
- Copie os números ou baixe-os como arquivo.
Valores de byte decimais e códigos ASCII
Todo caractere em um computador é armazenado como um ou mais bytes, e um byte é simplesmente um número de 0 a 255. Esta ferramenta escreve cada um desses números na notação decimal comum. Para textos em inglês, os números são os conhecidos códigos ASCII: as letras maiúsculas vão de 65 a 90, as minúsculas de 97 a 122, os dígitos de 0 a 9 de 48 a 57, e o espaço é 32. Os caracteres de controle ficam abaixo de 32, por exemplo 10 para a quebra de linha (line feed) e 13 para o retorno de carro.
O resultado é a mesma lista que você obtém com ord() em Python ou lendo um Uint8Array em JavaScript, e é uma forma prática de encontrar caracteres invisíveis, finais de linha ou uma marca de ordem de bytes (BOM) em uma string.
Um número por byte, não um número grande
A conversão é feita byte a byte: uma palavra de duas letras vira dois números, não um único inteiro. Valores acima de 127 nunca aparecem em texto ASCII. Em UTF-8, eles vêm em sequências de dois a quatro bytes que juntas formam um caractere, e é por isso que uma letra acentuada ou um caractere chinês produz vários números. Para ter um valor por caractere em textos de idiomas da Europa Ocidental, escolha ISO-8859-1, em que cada valor de byte é igual ao code point Unicode do caractere, ou Windows-1252.
Para converter um único número entre bases, por exemplo 255 para hexadecimal, use o conversor de bases numéricas. Para ver os mesmos bytes em outras notações, experimente hex ou binário.
Valores de byte decimais no código
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
Especificação
| Alfabeto | 0-9 |
|---|---|
| Tamanho da saída | 1 a 3 dígitos por byte, mais separadores |
| Preenchimento | Nenhum |
| Padrão | Valores de byte em decimal |
| Diferencia maiúsculas e minúsculas | Não |
Exemplos
| Entrada (UTF-8) | Saída |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
Perguntas frequentes
Qual é o código ASCII decimal de A?
O A maiúsculo é 65 e o a minúsculo é 97, tanto em ASCII quanto em UTF-8. Cada letra seguinte soma um, então Z é 90 e z é 122.
Posso decodificar números decimais sem separadores?
Não. Uma sequência de dígitos como 72105 pode ser dividida de mais de uma maneira, por isso o decodificador precisa dos números separados por espaços, vírgulas, ponto e vírgula ou quebras de linha. Zeros à esquerda são permitidos.
Por que números acima de 255 dão erro?
Um byte guarda valores de 0 a 255. Números maiores, como o code point Unicode 8364 do símbolo do euro, não são valores de byte. Digite o próprio caractere e codifique-o para ver seus bytes, por exemplo em UTF-8.
Por que um caractere vira vários números?
O UTF-8 armazena caracteres fora do ASCII como dois, três ou quatro bytes, e cada byte vira um número próprio. Escolha um conjunto de caracteres de um byte, como o Windows-1252, se você precisar de um número por caractere em idiomas da Europa Ocidental.