依赖jar: import org.apache.commons.codec.binary.Base64;

BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更具体地说,BASE64算法主要用于转换二进 制数据为ASCII字符串格式。Java语言提供了一个非常好的BASE64算法的实现,即Apache Commons Codec工具包。本文将简要地讲述怎样使用BASE64以及它是怎样工作的。

下面我们用BASE64对字符串进行编码:

import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.Base64; public class Base64Test { public static void main(String[] args){ String str = "Hello World"; try{ System.out.println("RESULT: " + encodeStr(str)); } catch(UnsupportedEncodingException e){ e.printStackTrace(); } }
}

    /** * 解密 *  * @param pwd * @return * @see [类、类#方法、类#成员] */  public static String decodeStr(String pwd)  {  Base64 base64 = new Base64();  byte[] debytes = base64.decodeBase64(new String(pwd).getBytes());  return new String(debytes);  }  /** * 加密 *  * @param pwd * @return * @see [类、类#方法、类#成员] */  public static String encodeStr(String pwd)  {  Base64 base64 = new Base64();  byte[] enbytes = base64.encodeBase64Chunked(pwd.getBytes());  return new String(enbytes);  

输出结果为:

  1. RESULT: SGVsbG8gV29ybGQ=

上面输出的字符串是“Hello world”字符串的8位二进制值被连接在一起,然后以6位分组。随后每个组都被转换成一个单独的数字并映射到Base64的索引。

binary  dec Base64
010010  18  S
000110  6   G
010101  21  V
101100  44  s
011011  27  b
000110  6   G
111100  60  8
100000  32  g
010101  29  d
110110  54  2
111101  61  9
110010  50  y
011011  27  b
000110  6   G
010000  16  Q

转载于:https://www.cnblogs.com/zhengxingpeng/p/6674828.html

BASE64 编码和解码相关推荐

  1. Python 对图像进行base64编码及解码读取为numpy、opencv、matplot需要的格式

    Python 对图像进行base64编码及解码读取为numpy.opencv.matplot需要的格式 1. 效果图 2. 源码 参考 这篇博客将介绍Python如何对图像进行base64编解码及读取 ...

  2. js php base64,JavaScript实现Base64编码与解码的代码详解

    本篇文章给大家分享的是jJavaScript实现Base64编码与解码的代码详解,内容挺不错的,希望可以帮助到有需要的朋友 一.加密解密方法使用//1.加密 var str = '124中文内容'; ...

  3. Base64编码和解码

    Base64编码和解码 DES加密后密文长度是8个整数倍 加密后比明文长度变长,所以编码表找不到对应字符,乱码 使用Base64编码和解密:从Apache现在 1.加密后密文使用Base64编码 2. ...

  4. java解码base64的png图片_使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)...

    为什么要对图片base64编码 base64是网络上最常见的传输8Bit字节代码的编码方式之一.base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输 ...

  5. mysql base64 乱码_PHP base64编码后解码乱码的解决办法

    在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的.来看看罪魁祸首是谁. 嫌疑人:base64_encode 和 base64_decode 罪行:我写了 ...

  6. android Java BASE64编码和解码二:图片的编码和解码

    1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

  7. Linux上的js解码,使用JavaScript实现Base64编码与解码

    我们知道,浏览器的window对象提供有window.atob()和window.btoa()方法可以对字符串进行Base64编码和解码. console.log(window.btoa(window ...

  8. 【Python】base64模块对图片进行base64编码和解码

    图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址. 这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要消耗一个 http 请求下载而来的. 没 ...

  9. Java、JS、OC、Flutter的Base64编码和解码

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 本文章将描述在 Jav ...

  10. Java实现Base64编码和解码的方式

    Base64 编码是什么? Base64 是一种编码的方式, 并不是安全领域的加密解密算法. Base64 的目的是把一些二进制符转成普通字符, 方便在网络上传输. 因为有些系统只能使用ASCII字符 ...

最新文章

  1. 容器使用之vector
  2. RPM打包原理、示例、详解及备查
  3. 【Linux网络编程】无连接和面向连接协议
  4. php excel 导入 显示,php Excel 导入
  5. 数据类型和运算符_月隐学python第3课
  6. svg 线条动画浅尝
  7. 函数 devm_kzalloc()
  8. 17 岁高中生独立开发全球疫情追踪网站火了!
  9. P2123-皇后游戏
  10. java获取焦点_[Java教程]dialog获取焦点
  11. PyTorch 深度学习:34分钟快速入门——自动编码器
  12. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 (以后在写SQL时,要有这种思想!!!)
  13. bzoj 1535: [POI2005]Sza-Template(fail树)
  14. Android 阿里云镜像谷歌仓库
  15. 退出登录如何清除token
  16. 6plus经常显示无服务器,苹果6plus屏幕失灵怎么办?如何解决?
  17. oracle 省份三个字的,全国省市区县数据库-省份(全)
  18. linux shell 中数组的定义和for循环遍历
  19. 项目在云服务器上的绝对路径,云服务器上的绝对路径
  20. 台式计算机不显示,台式电脑开机显示器不显示怎么办

热门文章

  1. nginx 转发慢_为啥 Nginx 能轻松淦到几万并发?
  2. css position的父级,css position absolute 相对于父元素的设置方式
  3. Django mysql 多线程_【实例:利用Django管理后台管理IP地址】(四)Django test+多线程+数据库+(踩坑)...
  4. 手机php转换txt,PHP 实现的将图片转换为TXT
  5. 鸿蒙os操作系统合作伙伴,华为公布三大鸿蒙OS系统 已有大量合作伙伴进行开发...
  6. c语言求跳水运动员成绩,跳水排名_C语言编程实例_C语言_最全面的网站教程
  7. 记java关键词_Java关键词及含义
  8. TensorFlow(8)卷积神经网络实战(2)手写卷积池化
  9. apex英雄机器人探路者怎么玩_《Apex英雄》探路者机器人怎么玩 探路者机器人技能特性及玩法...
  10. groovy怎样从sql语句中截取表名_SQL常用的基础查询语句