base64 编码值是否会超过 65,535 个字符

Will base64 encoded value exceed 65,535 characters

我打算将 pdf 文件转换为 base64 编码并保存在数据库中。

我的数据库列是 text 类型。

如果 pdf 文件很大,base64 encoded 值会超过 65,535 个字符吗?

Base64 encoding 将输入字节(8 位)映射为 6 位表示。这意味着,使用 base64 编码的 4 个字符串,您可以编码 4 * 6 = 24 位,这等于未编码的原始输入的 3 个字节。因此编码的结果将比输入大 33%。 base64 编码没有限制,所以 1MByte 的输入将得到 1.33MByte 的输出。

正如 Sami 在评论中提到的,49151 字节的输入将导致 65535 字节的输出。

我最终没有将它存储在我的数据库中,而是将文件保存在服务器上并将文件名保存在数据库中。