netty 系列之:java 中的 base64 编码器

本文介绍了Base64编码的原理和作用,探讨了Java中`java.util.Base64`工具类对Base64的支持,包括不同类型的Encoder和Decoder,并展示了其在处理流数据时的高级用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

简介

什么是 Base64 编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。

对于二进制文件来说,其内容是用二进制来表示的,对于人类是不可立马理解的。如果你尝试用文本编辑器打开二进制文件,可能会看到乱码。这是因为二进制文件的编码方式和文本文件的编码方式是不一样的,所以当文本编辑器尝试将二进制文件翻译成为文本内容的时候,就会出现乱码。

对于文本文件来说,也有很多种编码方式,比如最早的 ASCII 编码和目前常用的 UTF-8 和 UTF-16 等编码方式。即使是文本文件,如果你使用不同的编码方式打开,也可能会看到乱码。

所以不管是文本文件还是二进制文件也好,都需要进行编码格式的统一。也就是说写入的编码是什么样子的,那么数据读取的编码也应该和其匹配。

Base64 编码实际上就是将二进制数据编码成为可视化 ASCII 字符的一种编码方式。

为什么会有这样的要求呢?

我们知道计算机世界的发展不是一蹴而就的,它是一个慢慢成长的过程,对于字符编码来说,最早只支持 ASCII 编码,后面才扩展到 Unicode 等。所以对于很多应用来说除了 ASCII 编码之外的其他编码格式是不支持的,那么如何在这些系统中展示非 ASCII code 呢?

解决的方式就是进行编码映射,将非 ASCII 的字符映射成为 ASCII 的字符。而 base64 就是这样的一种编码方式。

常见的使用 Base64 的地方就是在 web 网页中,有时候我们需要在网页中展示图片,那么可以将图片进行 base64 编码,然后填充到 html 中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倾听铃的声

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值