上传文件
  1. base64hub
  2. 其他进制编码
  3. 十进制转 Base64

十进制转 Base64 转换器:字节列表转 Base64

粘贴 72 105 33 或 [72, 105, 33] 这样的十进制字节值,即可得到 Base64(SGkh)。支持 0 到 255 的值,−128 到 −1 会按 Java 风格的有符号字节读取。

免费 无需注册,不限次数 本地 不上传任何内容 更新于 2026年10月27日
输入 0字节 0 B输出 0

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何将十进制转换为 Base64

  1. 把数字粘贴到 输入 · 十进制字节。每个数字是一个字节。
  2. Base64 会随着输入实时显示在 输出 · Base64 中。
  3. 在输出下方,填充(=) 用于保留或去掉末尾的 =,换行 可以把较长的输出按 64 或 76 个字符断行。
  4. 点击 复制输出,或切换到 Base64 → 十进制字节 核对结果。Base64 转十进制 是同一个工具的反方向。

输入格式

输入来源Base64
72 105 33纯列表SGkh
[72, 105, 33]JSON、Python list(b)SGkh
{72, 105, 33}C 或 Java 初始化列表SGkh
72;105;33以 ; 分隔的 CSV 导出SGkh
[72, 105, -1]Java Arrays.toString(bytes)SGn/
072 105补零对齐的列SGk=

补零的数字按十进制读取,所以 072 是 72。每个值都必须是 −128 到 255 之间的整数。超出该范围的值会让转换停止,并提示是哪一个;多余的字母或小数点(例如 72.105)会报告其位置,点击 显示 即可选中它。

如果列表中是 48 69 21 这样的 hex 值,它们会被当作十进制的 48、69 和 21 读取,得到不同的结果。这种情况请使用 Hex 转 Base64。对于从源代码中复制的、带有 0x 值、强制类型转换或类型名的数组,字节数组转 Base64 更合适。

十进制字节列表从哪里来

大多数十进制字节列表,都是某种编程语言按默认方式打印二进制数据的结果:

来源对 Hi! 的打印结果
Python list(b"Hi!")[72, 105, 33]
Node.js JSON.stringify(Buffer.from("Hi!")){"type":"Buffer","data":[72,105,33]}
Java Arrays.toString("Hi!".getBytes())[72, 105, 33]
JavaScript Array.from(new TextEncoder().encode("Hi!"))[ 72, 105, 33 ]

把这样的列表转成 Base64,就得到一个紧凑的字符串,可以放进配置文件、测试夹具或 API 请求。72, 105, 33 有 11 个字符,而 Base64 SGkh 只有 4 个。

在代码中将十进制转为 Base64

import base64
base64.b64encode(bytes([72, 105, 33])).decode()   # 'SGkh'

遇到负数时,bytes() 会抛出 ValueError: bytes must be in range(0, 256)。请先用 [v & 0xff for v in values] 转换 Java 风格的有符号字节。

Buffer.from([72, 105, 33]).toString("base64");   // 'SGkh'

Buffer.from 会把每个值对 256 取模而不报任何错,所以 -1 变成 255,256 则悄无声息地变成 0。上面的工具会拒绝 256,从而发现那些其实不是字节的列表。更多内容见 Python 和 Node.js 页面。

不是字节的数字

单个大数,例如用户 ID、时间戳或计数器,在你确定它占几个字节、按什么顺序排列之前,并没有唯一的 Base64 形式。Unix 时间 1700000000 作为 4 字节大端序值是 ZVPxAA==;作为 8 字节则是 AAAAAGVT8QA=。请选择接收系统所期望的布局,并在代码中编码;本页特意拒绝大于 255 的值,以免把 16 位或 32 位数字的列表误当作字节。

常见问题

能把 1000 这样的单个数字转换成 Base64 吗?

在本页不行,因为这里的每个数字都是一个字节,而 1000 装不进一个字节。先确定这个数字占几个字节、使用哪种字节序,再对这些字节进行编码。在 Python 中,base64.b64encode((1000).to_bytes(2, "big")) 得到 A+g=。

数字之间可以用哪些分隔符?

空格、制表符、换行、逗号和分号,可以任意混用。方括号、花括号和圆括号会被忽略,所以 JSON 数组或 C 初始化列表可以原样粘贴。

负数怎么处理?

−1 到 −128 按有符号字节读取,与 Java 和 Kotlin 的打印方式一致:−1 是 255,−128 是 128。小于 −128 的值会报错。

怎么把 JSON 字节数组转换成 Base64?

连同方括号一起粘贴数组即可。对于 Node 的 {"type":"Buffer","data":[...]} 对象,只粘贴 data 数组。