Загрузить файл
  1. base64hub
  2. Другие BaseN
  3. Массив байтов в Base64

Конвертер массива байтов в Base64 для любого языка

Вставьте массив байтов прямо из исходников или отладчика и получите Base64. Парсер читает литералы C, JavaScript, Python, Java, Go, C# и Rust или просто список вроде 72, 105, 33.

Бесплатно без регистрации и ограничений Локально ничего не загружается −128..−1 знаковые байты Java читаются правильно Обновлено 27 окт. 2026 г.
Ввод 0Байты 0 BРезультат 0

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как перевести массив байтов в Base64

  1. Вставьте массив в поле ввода. Можно целым объявлением: имена типов и переменных, скобки и точки с запятой пропускаются.
  2. Base64 появится в поле результата. Дополнение (=) и Перенос строк под результатом управляют форматом.
  3. Нажмите Скопировать результат или выберите в меню В другой формат, например Hex или Base64URL.
  4. Чтобы превратить Base64 обратно в объявление для нужного языка, используйте Base64 в массив байтов.

Что можно вставить

Каждая строка ниже даёт SGkh, то есть Base64 для трёх байтов H, i, !:

ЯзыкВвод
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}, приведения (byte) 0x48
Go[]byte{0x48, 0x69, 0x21}
C#new byte[] { 0x48, 0x69, 0x21 }
Rust[0x48u8, 0x69, 0x21], vec![72u8, 105, 33]
Просто список72, 105, 33 или 72 105 33

Значения могут быть десятичными, шестнадцатеричными с 0x, двоичными с 0b, восьмеричными с 0o или символьными литералами ASCII вроде 'H'. Суффиксы типов вроде u8, U и L игнорируются. Литералы Python читаются по полным правилам экранирования, включая \n, \t и восьмеричные последовательности, а несколько кусков b'...' подряд, как в многострочном литерале в скобках, склеиваются.

Знаковые байты и диапазоны значений

В Java нет беззнакового байта, поэтому массивы, напечатанные из Java или Kotlin, содержат отрицательные числа. Конвертер читает значения от −128 до −1 как байты от 0x80 до 0xff:

ВводБайтыBase64
{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==

Всё, что больше 255 или меньше −128, останавливает преобразование с указанием значения и его позиции. Числа с ведущим нулём вроде 072 читаются как десятичное 72, а не как восьмеричное 58 в стиле C: обычно именно это и имеют в виду, вставляя список значений байтов.

Что эта страница не читает

  • Вывод консоли Node вида <Buffer 48 69 21>. Это hex без 0x, а конвертер прочитал бы значения как десятичные. Скопируйте часть между Buffer и > в Hex в Base64.
  • Строки C в кавычках вроде "Hi!". Для текста используйте Текст в Base64 или запишите байты массивом.
  • JSON-объекты вроде {"type":"Buffer","data":[72,105,33]}. Вставьте только часть [72,105,33] здесь или в Десятичные числа в Base64.

Массив байтов в Base64 в коде

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'

Spread-оператор передаёт каждый байт отдельным аргументом, поэтому на больших массивах он падает: в Node 24 это Maximum call stack size exceeded где-то между 125 000 и 200 000 элементов, а в других движках предел свой. Для больших данных Buffer.from(arr).toString("base64") в Node или arr.toBase64() в современных браузерах лишены этой проблемы; см. Uint8Array.toBase64. Подробнее по языкам: Java, C#, Python, JavaScript.

Вопросы и ответы

Как перевести byte[] в Base64 в Java?

Вызовом java.util.Base64.getEncoder().encodeToString(bytes). Чтобы проверить зашитый в код массив, вставьте сюда объявление new byte[] { ... } целиком, вместе с приведениями типов и отрицательными значениями.

Можно вставить литерал bytes из Python?

Да. Работают b'Hi!', b'\x48\x69\x21', восьмеричные escape-последовательности вроде \041, bytes([72, 105, 33]) и несколько литералов, разбитых по строкам.

Почему появляется «не помещается в байт»?

Какое-то значение больше 255 или меньше −128. Часто массив на самом деле состоит из 16- или 32-битных целых, например short[] или int[], и его сначала нужно разбить на байты в выбранном порядке байтов.

Числа без 0x читаются как hex?

Нет. Голое 48 читается как десятичное 48. Для hex-значений нужен префикс 0x, или вставьте их в Hex в Base64: там hex читается и без префикса.