base64和hex

我们知道,字符分为二种:一种是可见字符;另一种是不可见字符。

1)三种编码方式

hex也称为base16,意思是使用16个可见字符来表示一个二进制数组,编码后数据大小将翻倍,因为1个字符需要用2个可见字符来表示。

base32,意思是使用32个可见字符来表示一个二进制数组,编码后数据大小变成原来的8/5,也即5个字符用8个可见字符表示,但是最后如果不足8个字符,将用=来补充。

base64,意思是使用64个可见字符来表示一个二进制数组,编码后数据大小变成原来的4/3,也即3个字符用4个可见字符来表示。

2)三种编码的区别

主要就是空间效率的区别,base64是具有比较高的空间效率的。当然,hex编码不区分大小写,但是base32与base64是区分的。

3)三种编码相同点

就是大家都是一种稳定的把二进制数组变成可见字符的编码方式。

4)为什么有的场合,必须要使用可见字符?

例如在网络中传输数据时,不同路由器对于不可见字符的处理是不同的,因此可能出现数据错误,因此还必须使用可见字符。

最新文章

  1. 常用的Meta标签写法和作用
  2. VC++ GDI 总结 一一 CBitmap类
  3. PE文件头
  4. Android中this、super的区别
  5. MySQL连接池
  6. 《Unix/Linux日志分析与流量监控》书稿完成
  7. javascript函数没有重载测试
  8. DevExpress gridView 小结(一)
  9. LightOJ 1422 Halloween Costumes
  10. android使用属性动画代替补间动画
  11. curl返回值写入内存的场景
  12. HDU1160(LIS)
  13. 【转载】关于SetWindowOrgEx、SetViewportOrgEx、SetViewportExtEx 和SetWindowExtEx 详解
  14. react学习总结
  15. python通过http请求发送soap报文进行webservice接口调用
  16. 【BZOJ1305】跳舞(网络流)
  17. ASCII排序
  18. JS——2048(支持触屏及键盘操作)
  19. k8s 集群部署问题整理
  20. 并发编程(六)——AbstractQueuedSynchronizer 之 Condition 源码分析

热门文章

  1. Javascript的异步与单线程
  2. 【DRF框架】restfull规范
  3. php各种框架的区别
  4. HTTP协议通信原理 与常见报错信息
  5. STM32 LoRaWAN探索板B-L072Z-LRWAN1入门指南
  6. springboot的入门
  7. <你们都是魔鬼吗>第二次团队作业:团队项目选题
  8. 网站性能优化——DNS预热与合并HTTP请求
  9. Tornado之Session实现
  10. HDU-2082-找单词(母函数)