Java实现Base64编码以及原理详解

这篇具有很好参考价值的文章主要介绍了Java实现Base64编码以及原理详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java实现

使用java.util.Base64类来实现Base64编码。

该类是Java8引入的。

String str = "sd";
System.out.println("str:" + str);

// 进行Base64编码
byte[] bytes = str.getBytes("utf-8");
String encode = Base64.getEncoder().encodeToString(bytes);
System.out.println("encode:" + encode);

// 进行Base64解码
byte[] bytes1 = Base64.getDecoder().decode(encode);
String decode = new String(bytes1, "utf-8");
System.out.println("decode:" + decode);
输出:

str:sd
encode:c2Q=
decode:sd

上面就是java实现的代码,使用起来是很方便的。下面来说说Base64编码的原理。

Base64编码

Base64编码的作用:将字符串转为由64个特定字符组成的编码,这种编码方式适用于不支持特定编码的情况。

详解

一、

首先来看,原字符串是“sd”。将字符串转为二进制编码形式。这里是采用utf-8。

s的编码:115。二进制展示是:01110011。

d的编码:100。二进制展示是:01100100。

上面的二进制是8个字节的,由于要转换为64个字符展示的字符串,所以需要以6个字节作为一个单位来展示。

我们将两个编码合并起来:0111001101100100

二、

由于现在是16个字节(8+8),如果以6个字节为单位的话,字节数量是不够的。

因此在后面补0:011100110110010000

三、

然后以6个字节为单位分割该编码:011100,110110,010000

再转换为十进制表示:28,54,16

四、

根据下面表格,找到索引对应的字符,得到Base64编码的结果:c2Q

java实现base64编码,Java,java,算法

--图片来源base64百度百科

五、

通常,编码结果不满4个字符时,会在后面补上=

因此编码的最终结果是:c2Q=

既然编码方式知道了,那么解码方式也就知道了。这里就不详细再说了。文章来源地址https://www.toymoban.com/news/detail-631435.html

到了这里,关于Java实现Base64编码以及原理详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java使用hutool把服务器图片链接转为base64编码

    需求是把服务器的图片链接或者网上的图片链接地址转为base64位编码方便前端操作 base64编码转为图片在线网址 https://imgtobase64.d777.com/ 1.1 引入依赖 1.2 代码

    2024年02月12日
    浏览(35)
  • Java的Base64加密解密详解

    大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在当今数字化时代,数据的安全性和可传递性变得尤为重要。Java编程语言提供了 Base64 编码和解码的工具,成为保障数据传输和存储安全性的一项重要技术

    2024年04月15日
    浏览(43)
  • uniapp不同平台获取文件内容以及base64编码特征

    文件图片上传,客户端预览是很正常的需求,获取文件的md5特征码也是很正常的,那么,在uniapp中三种环境,h5, 小程序以及 app环境下,如何实现的? 参考: 如何在uniapp中读取文件ArrayBuffer和sha256哈希值,支持H5、APP、小程序 uniapp 没有提供跨平台的 API 来获取文件的 sha256 哈

    2024年02月20日
    浏览(25)
  • base64编码:js实现base64编码的3种方式,多场景下分析使用

    js实现base64编码,前端一般应用场景在与后端接口参数中体现,后端可能需要某个字段是base64编码的字符,这时候就需要用前端的方法进行转换,再作为参数传递到服务端。 js实现base64编码的3种方式 1. 使用base64.js进行转换 获取base64.js,可以直接搜索base64.js下载。推荐使用n

    2024年02月16日
    浏览(38)
  • 后台传输图片给前端的Base64编码方法及原理解析

    探索后台向前端传输图片的方式之一:通过Base64编码将图片转换为字符串数据,并在前端显示图片。本文详细介绍了Base64编码的原理、转换步骤以及位数不足情况的处理方法,帮助理解Base64编码的工作原理。

    2024年02月04日
    浏览(33)
  • Java 实现图片转base64

    2024年02月09日
    浏览(28)
  • 前端实现base64编码处理

    文件上传时,因为base64文件字符串过长后端接收失败的问题。 提示:以下是本篇文章正文内容,下面案例可供参考 Base64是一种用于将二进制数据转换为ASCII字符集中可打印字符的编码方法。它通常用于在不同系统之间传输二进制数据,因为许多系统只支持文本数据的传输。 代

    2024年02月12日
    浏览(25)
  • 『CV学习笔记』Opencv和PIL Image以及base64编码互相转化

    Opencv和PIL Image以及base64编码互相转化

    2024年02月13日
    浏览(29)
  • JAVA实现网络/本地图片转BASE64存储

    网络图片转BASE64 如果是本地图片的话,其实和网络图片相差不多的,主要就是读取图片流的形式变一下 若有问题,可以留言探讨。

    2024年02月13日
    浏览(25)
  • base64的标准编码与URL编码的区别-go实现

    package main /* 介绍及作用: 1、base64编码是程序开发中常使用的编码格式,因为更适合不同的平台、不同的语言传输, 通常用于存储、传输一些二进制数据编码方法,即将二进制数据文本化(转化成ASCII)。比如有些系统只能使用ASCII字符,就可用base64将非ASCII字符数据转化为

    2023年04月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包