XuLizhao 's Notes

时光,漫步


  • 首页

  • 技术

  • 文档

  • 关于

  • 搜索
close

编码和解码

时间: 2018-10-24   |   分类: tech     |   阅读: 484 字 ~1分钟

只要和计算机打交道就涉及到编码和解码。

常用编码

进制

  • 二进制
  • 十进制

十六进制

Hex: 由0~9 A B C D E F构成,表示的长度更短

与二进制转换: 每4位一组,位数不够高位补0

ASCII

ASCII码: 美国信息交换标准代码 (可读性更强) : 由(128个)英文及常用符合组成

UTF-8

又称万国码。

Base64

64个可读字符进行编码, 介于 Hex和ASCII(去除了不可读字符).

  • 方便把含有不可见字符的信息用可见字符表示出来, 以便复制粘贴.
  • 方便通信转换, 使用场景: X.509公钥证书, 电子邮件数据/附件 (MIME)

数字 + 小写字母 + 大写字母 和 + /

按顺序为: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

改进Base64(URL Safe Base64 )

标准Base64问题:

  • +/经常用于文件系统和URL,容易冲突 ;
  • padding字符=常用于URL, 比如URL编码器会把 +和/变成 %XX的形式 (存入数据库还需要再次转换,因为%是通配符).

为解决以上问题, 改进Base64(URL Safe Base64 ) 把 +和/分别替换成 -和_,同时去掉末尾的padding.

  • 每3个8位转换成4个6位,每组添加2个高位0后成为4个8位, 即理论增加1/3长度\
  • 特点: 能被4整除, =后缀数为0,1,2个.

扩展阅读

  • Base64编码原理与应用
  • 本文作者: xulizhao
  • 本文链接: https://xulizhao.com/blog/encoding/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
#java#
办公软件之Word
机器学习
  • 文章目录
  • 站点概览

xulz

时光,漫步

56 日志
3 分类
28 标签
  • 常用编码
    • 进制
    • ASCII
    • UTF-8
    • Base64
  • 扩展阅读
© 2017 - 2023 XuLizhao 's Notes
Powered by - Hugo/ NexT
津ICP备17010344号-1
0%