Enviar um arquivo
  1. base64hub
  2. Outras bases
  3. Array de bytes para Base64

Conversor de array de bytes para Base64 em qualquer linguagem

Cole um array de bytes direto do código-fonte ou de um depurador e receba Base64. O parser lê literais de C, JavaScript, Python, Java, Go, C# e Rust, ou uma lista simples como 72, 105, 33.

Grátis sem cadastro, sem limites Local nada é enviado −128..−1 bytes Java com sinal lidos corretamente Atualizado 27 de out. de 2026
Entrada 0Bytes 0 BSaída 0

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como converter um array de bytes para Base64

  1. Cole o array na entrada. A declaração inteira serve: nomes de tipo, nomes de variável, colchetes e ponto e vírgula são ignorados.
  2. O Base64 aparece na saída. Preenchimento (=) e Quebra de linha, abaixo da saída, controlam o formato.
  3. Use Copiar saída ou mude o menu Para para outro formato, como Hex ou Base64URL.
  4. Para transformar Base64 de volta em uma declaração na linguagem escolhida, use Base64 para array de bytes.

O que você pode colar

Cada linha abaixo dá SGkh, o Base64 dos três bytes H, i, !:

LinguagemEntrada
C, C++unsigned char d[] = {0x48, 0x69, 0x21};
JavaScriptnew Uint8Array([72, 105, 33]), Uint8Array.from([72, 105, 33]), Buffer.from([72, 105, 33])
Pythonb'Hi!', b'\x48\x69\x21', bytes([72, 105, 33]), bytearray(b'Hi!')
Javanew byte[]{72, 105, 33}, casts (byte) 0x48
Go[]byte{0x48, 0x69, 0x21}
C#new byte[] { 0x48, 0x69, 0x21 }
Rust[0x48u8, 0x69, 0x21], vec![72u8, 105, 33]
Lista simples72, 105, 33 ou 72 105 33

Os valores podem ser decimais, hex com 0x, binários com 0b, octais com 0o ou literais de caractere ASCII como 'H'. Sufixos de tipo como u8, U e L são ignorados. Literais do Python são lidos com todas as regras de escape, incluindo \n, \t e escapes octais, e vários pedaços b'...' seguidos, como em um literal de várias linhas entre parênteses, são juntados.

Bytes com sinal e faixas de valores

O Java não tem byte sem sinal, então arrays impressos a partir de Java ou Kotlin contêm números negativos. O conversor lê de −128 a −1 como os bytes 0x80 a 0xff:

EntradaBytesBase64
{72, 105, -1}48 69 ffSGn/
new byte[]{72, 105, (byte) 0xff, -1}48 69 ff ffSGn//w==
[-34, -83, -66, -17]de ad be ef3q2+7w==

Qualquer valor acima de 255 ou abaixo de −128 interrompe a conversão, com o valor e a posição indicados. Números com zero à esquerda, como 072, são lidos como o decimal 72, e não como o octal 58 do C, o que corresponde ao que a maioria das pessoas quer dizer ao colar uma lista de valores de bytes.

Formatos que esta página não lê

  • A saída de console <Buffer 48 69 21> do Node. Esses valores são hex sem 0x, e o conversor os leria como decimais. Copie a parte entre Buffer e > para Hex para Base64.
  • Strings C entre aspas, como "Hi!". Use Texto para Base64 para texto ou escreva os bytes como array.
  • Objetos JSON como {"type":"Buffer","data":[72,105,33]}. Cole só a parte [72,105,33], aqui ou em Decimal para Base64.

Array de bytes para Base64 no código

String b64 = java.util.Base64.getEncoder().encodeToString(new byte[] {72, 105, 33});   // "SGkh"
string b64 = Convert.ToBase64String(new byte[] { 0x48, 0x69, 0x21 });   // "SGkh"
import base64
base64.b64encode(bytes([72, 105, 33])).decode()   # 'SGkh'
btoa(String.fromCharCode(...new Uint8Array([72, 105, 33])));   // 'SGkh'

O operador spread passa cada byte como um argumento separado, então falha com arrays grandes: no Node 24, ele lança Maximum call stack size exceeded em algum ponto entre 125.000 e 200.000 elementos, e o limite muda de um motor para outro. Para dados grandes, Buffer.from(arr).toString("base64") no Node ou arr.toBase64() nos navegadores atuais evitam o problema; veja Uint8Array.toBase64. Mais sobre cada linguagem: Java, C#, Python, JavaScript.

Perguntas frequentes

Como converter um byte[] para Base64 em Java?

java.util.Base64.getEncoder().encodeToString(bytes). Para conferir um array fixo no código, cole aqui a declaração inteira new byte[] { ... }, com casts e valores negativos.

Posso colar um literal bytes do Python?

Pode. b'Hi!', b'\x48\x69\x21', escapes octais como \041, bytes([72, 105, 33]) e vários literais divididos em linhas funcionam.

Por que aparece "não cabe em um byte"?

Algum valor está acima de 255 ou abaixo de −128. Muitas vezes o array é na verdade de inteiros de 16 ou 32 bits, como short[] ou int[], que precisam antes ser divididos em bytes em uma ordem de bytes escolhida.

Números sem 0x são lidos como hex?

Não. Um 48 sozinho é o decimal 48. Valores hex precisam do prefixo 0x; ou cole-os em Hex para Base64, que lê hex sem prefixo.