个人blog-1: 拾忆生活
个人blog-2: 极简-拾忆生活
欢迎大家来踩,同步更新


总体:

hex编码不区分大小写,base32与base64编码区分大小写
三种都是稳定的把二进制数组变成可见字符的编码方式

hex(=base16)

1.使用16个可见字符来表示一个二进制数组,编码后数据大小将x2
2.1个字符需要用2个可见字符来表示

base32

1.使用32个可见字符来表示一个二进制数组,编码后数据大小变成原来的8/5
2.5个字符用8个可见字符表示,不足8个字符,将用=来补充

base64

1.使用64个可见字符来表示一个二进制数组,编码后数据大小变成原来的4/3
2.3个字符用4个可见字符来表示

测试:

@Test
public void test(){String data = "测试编码内容" ;byte[] bytes = data.getBytes() ;//测试hextry {long start = System.currentTimeMillis() ;String encryStr = "" ;String decryStr = "" ;for(int i= 0 ; i < 10000 ; i++) {encryStr = Hex.encodeHexString(bytes) ;decryStr = new String(Hex.decodeHex(encryStr.toCharArray())) ;}print("Hex:"  + (System.currentTimeMillis() - start ) + " ms " +  encryStr  + " | " + decryStr) ;} catch (Exception e) {e.printStackTrace();}//测试base64try {long start = System.currentTimeMillis() ;String encryStr = "" ;String decryStr = "" ;for(int i= 0 ; i < 10000 ; i++) {encryStr = Base64.encodeBase64String(bytes) ;decryStr = new String(Base64.decodeBase64(encryStr.getBytes()) );}print("base64: " + (System.currentTimeMillis() - start ) + " ms " +  encryStr  + " | " + decryStr) ;} catch (Exception e) {e.printStackTrace();}}

结论:
hex编码速度快,体积大;base64编码速度慢,体积小

hex(base16)、base32、base64三种编码方式区别相关推荐

  1. verilog中状态机的三种编码方式的比较(二进制码、独热码、格雷码)

    最近做了一个小项目,是关于状态机中三种编码方式的比较,总结了一下三种编码方式的不同,可以会在以后IC笔试面试过程中用到,简单记录一下三种编码方式的优缺点. 三种编码方式如下图所示:其中独热码只有一位为 ...

  2. 【GBK、UTF-8、ISO8859-1】三种编码方式总结及实例

    感谢:https://blog.csdn.net/youngstar70/article/details/64117297 一.总结 在Java中,String的getBytes()方法是得到一个操作 ...

  3. 笔记连载 | Day6 FPGA三种建模方式区别及Verilog语法基础篇

    听说99%的同学都来这里充电吖 本系列为线下学员学习笔记整理分享,如有想要报名参加线下培训,可以点击以下超链接文章了解,购买开发板可以到叁芯智能科技企业淘宝店下单. 各类研修班 | FPGA就业研修班 ...

  4. ISP、IAP、ICP、JTAG、SWD的编程特点!种编程方式区别总结

    转载自:http://www.eeskill.com/article/id/38434 http://bbs.ic37.com/bbsview-33838.htm 电子工程师都知道,半导体技术发展迅猛 ...

  5. python:Base16, Base32, Base64, Base85 数据编码

    python:Base16, Base32, Base64, Base85 数据编码 此模块提供了将二进制数据编码为可打印的 ASCII 字符以及将这种编码格式解码回二进制数据的函数. 它为 RFC ...

  6. WebSocket不同版本的三种握手方式以及一个Netty实现JAVA类

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一.We ...

  7. windows四种编码方式

    简单介绍一下这四种编码方式: ANSI:系统预设的标准文字储存格式.ANSI是American National Standards Institute的缩写.它成立于1918年,是一个自愿性的组织, ...

  8. Kryo,Hessain,Protostuff三种序列化方式对比

    前言 前段时间在写RPC框架的时候用到了Kryo.Hessian.Protostuff三种序列化方式.但是当时因为急于实现功能,就只是简单的的看了一下如何使用这三种序列化方式,并没有去深入研究各自的特 ...

  9. Python对文件的三种打开方式以及with管理上下文

    文件的三种打开方式以及with管理上下文 一.文件的三种打开方式 1.1 只读 f = open(r'D:\pycharm\python\123.txt','r',encoding='utf8') d ...

  10. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...

最新文章

  1. mysql 配置路径
  2. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
  3. 膜拜大牛!HTTPS面试常问全解析,吊打面试官系列!
  4. [vim] vim中使用cscope的安装与使用
  5. 轻量级锁_并发编程实战05:锁的状态
  6. 7 种分布式全局 ID 生成策略,你更爱哪种?
  7. emif接口速率问题_OMAPL138 EMIF读取速率问题
  8. Git的下载与安装(详细)
  9. Ubuntu18.04之apt/dpkg用法
  10. threadpool —— 基于 pthread 实现的简单线程池(code)
  11. ctf镜子里面的世界_在秋天遇见“冰雪世界”,好像老天给我变了个魔法
  12. 在linux系统下如何下载中文输入法,如何在linux系统下安装中文输入法
  13. Android 屏蔽Menu键
  14. 华为HCNE—网络工程师培训教材
  15. html 按钮按下变色松开还原,js中怎么写点击按钮时变色,松开后恢复原来的颜色...
  16. 【案例】电影数据分析
  17. Vim快捷键学习---记性不行了,留这里备查
  18. IDEA系列:最新IntelliJ IDEA下载地址(社区版和专业版)
  19. 哪看计算机的网络密码,如何检查计算机的无线网络密码?两种查看方法
  20. 如何理解关联法则中的三个判断准则

热门文章

  1. 安装 cachecloud 并搭建redis cluster集群
  2. PrintShield打印监控系统
  3. phpstudy安装部署DVWA
  4. 西门子g120变频器接线图_西门子S7—1500第二十二讲(G120变频器第二篇)
  5. PLC开发没有前景想转行嵌入式,找个培训机构还是自学?
  6. Unity AudioMixer效果器设置
  7. 6轴并联机器人开发--机械设计
  8. 被Gartner评为十大安全技术的IAST是什么
  9. 中国人大网络教育计算机考试题,第九章计算机多媒体技术20秋人大测试题
  10. Windows系统为指定用户设定本地组策略