Base64

作用

在数据传输过程中,如果报文中存在英文字母以外的字符,就会出现乱码(如中文、图片、或者二进制报文),此时就可以通过Base64将不规则的数据流转化成Base64规定的64个可打印的字符,提高数据的可读性和可打印性。

转码原理

Base64的索引表

['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/']

第一步,将待转换的字符串每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。
第二步,将上面的24个二进制位每6个一组,共分为4组。
第三步,在每组前面添加两个0,每组由6个变为8个二进制位,总共32个二进制位,即四个字节。
第四步,根据Base64编码对照表(见下图)获得对应的值。

0 A  17 R   34 i   51 z1 B  18 S   35 j   52 02 C  19 T   36 k   53 13 D  20 U   37 l   54 24 E  21 V   38 m   55 35 F  22 W   39 n   56 46 G  23 X   40 o   57 57 H  24 Y   41 p   58 68 I  25 Z   42 q   59 79 J  26 a   43 r   60 810 K  27 b   44 s   61 911 L  28 c   45 t   62 +12 M  29 d   46 u   63 /13 N  30 e   47 v14 O  31 f   48 w   15 P  32 g   49 x16 Q  33 h   50 y

【转码方式】-Base64相关推荐

  1. 微信小程序 icon图标 SVG代码转码为Base64编码格式并使用(霸霸看了都说好)

    文章目录 SVG 简介 什么是SVG SVG有哪些优势 SVG在小程序中的使用 获取SVG资源 获取对应SVG代码 将SVG代码转码为Base64编码格式 在具体代码中引用SVG 展示效果 SVG 简 ...

  2. 第6章 RTX 操作系统源码方式移植

    以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章教程为大家将介绍 RTX 操作系统源码方式移植,移植工作比较简单,只需要用户添加需要的源码文件即可, ...

  3. java 32位授权码_Java实现OAuth2.0授权码方式

    Java实现OAuth2.0授权码方式 前面介绍了OAuth2.0和授权方式,可以参考以下文章: 今天就用Java来验证OAuth2.0授权方式的授权码式,我们Spring Cloud的OAuth来实 ...

  4. CentOS7中使用编译github源码方式离线安装Node-RED

    场景 Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED: Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED_ ...

  5. Nacos 快速开始、版本选择、预备环境准备、下载源码或者安装包、从 Github 上下载源码方式、下载编译后压缩包方式、配置nacos、配置集群、启动服务器、服务注册发现和配置管理、关闭服务器

    1.Nacos 快速开始 1.1.版本选择 1.2.预备环境准备 1.3.下载源码或者安装包 1.3.1.从 Github 上下载源码方式 1.3.2.下载编译后压缩包方式 1.3.3.配置nacos ...

  6. 【微信小程序】生成二维码方式

    前言 基础库 2.12.0 开发者工具 1.03.2008270 生成二维码方式 微信小程序的二维码可分为: 微信生成的二维码 普通链接二维码 微信生成的二维码,是指调用微信小程序服务端接口 wxac ...

  7. java后台生成二维码以及页面显示二维码方式

    上篇文章已经说明并发布了后台生成二维码工具类,大家可以直接去看或者去拿. 地址:最简单实用的java生成二维码工具 现在呢说明页面上展示二维码的两种方式: 1.使用img标签的src来请求生成二维码, ...

  8. 【RTX操作系统教程】第6章 RTX操作系统源码方式移植

    原文来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16616&highlight=RTX%B2%D9%D7%F7%CF ...

  9. ASCII码 和 Base64编码

    ASCII编码 简介 ASCII码(American Standard Code for Information Interchange, 美国信息互换标准代码) 是基于拉丁字母的一套电脑编码系统, ...

最新文章

  1. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
  2. kappa一致性检验教程_SPSS在线_SPSSAU_Kappa一致性检验
  3. 一文弄懂各种loss function
  4. python使用matplotlib绘制k线图
  5. (~解题报告~)L1-019 谁先倒 (15分) ——17行代码AC
  6. 使用junit测试用例
  7. python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++
  8. Charles 二三谈
  9. UIView转换为UIImage
  10. 【问题】Nginx日志中request_body为空
  11. android qq三方登录授权失败,qq第三方登陆授权失败110401错误码解决办法介绍
  12. vmplayer虚拟机中如何找到网络配置的窗口
  13. 24速算c语言实训报告ppt,原创:C语言速算24数据结构课程设计最终版
  14. VS2010如何打开VS2012的项目
  15. Windows监控——性能指标详解
  16. fld to xml and xml to fld
  17. JAVA模拟HTTP请求中GET/POST方式
  18. C3P0 连接问题 An attempt by a client to checkout a Connection has timed out.
  19. 新诗一首:新冠肺炎战役记
  20. Android开发-线程池

热门文章

  1. 蛋花花分析到底该不该让孩子学编程
  2. 《互联网进化论》-破解互联网的奥秘
  3. 超实分析手机版,国际研究生数学教材
  4. 【JS】Math对象随机数方法
  5. 华中科技大学 教学大纲 计算机,《计算理论》课程教学大纲
  6. 【OCR】AspriseOCR 条码识别 C++
  7. vue-cli脚手架build目录下utils.js工具配置文件
  8. 使用线程池优化多线程编程
  9. php咕咚授权,线上跑扬马一样精气神 授权咕咚举办万跑友已报名
  10. Bootstrap学习-详解Bootstrap下拉菜单组件