编码

本文深入解析Base64编码算法,阐述其如何转换二进制数据为文本字符串,适用于图片、音频和视频的传输及存储。同时,探讨Base64的优缺点及其在不同场景的应用。此外,文章还介绍了URL编码的作用,解释了如何避免URL中的特殊字符导致的解析错误。
Base64:
 
Base64:将⼆进制数据转换成由 64 个字符组成的字符串的编码算法

什么是⼆进制数据?
· ⼴义:所有计算机数据都是⼆进制数据
· 狭义:⾮⽂本数据即⼆进制数据

算法:
将原数据每 6 位对应成 Base 64 索引表中的⼀个字符编排成⼀个字符串(每个字符8 位)。

Base64 的⽤途:
1. 将⼆进制数据扩充了储存和传输途径(例如可以把数据保存到⽂本⽂件、可以通过聊天对话框或短信形式发送⼆进制数据、可以在 URL 中加⼊简单的⼆进制数据)
2. 普通的字符串在经过 Base64 编码后的结果会变得⾁眼不可读,因此可以适⽤于⼀定条件下的防偷窥(较少⽤)
3. 有时需要使⽤⽂本形式来传输文件。除此之外,完全没必要使⽤ Base64 对文件进⾏额外处理。

Base64 的缺点:
因为⾃身的原理(6 位变 8 位),因此每次 Base64 编码之后,数据都会增⼤约1/3,所以会影响存储和传输性能。

「Base64 加密图⽚传输更安全和⾼效」???
不。⾸先,Base64 并不是加密;另外,Base64 会导致数据增⼤ 1/3,降低⽹络性能,增⼤⽤户流量开销,是画蛇添⾜的⼿段。(最好不要拿来 diss 你们公司的后端哟,友善)

变种:Base58
⽐特币使⽤的编码⽅式,去掉了 Base64 中的数字 "0",字⺟⼤写 "O",字⺟⼤写"I",和字⺟⼩写 "l",以及 "+" 和 "/" 符号,⽤于⽐特币地址的表示。Base58 对于 Base64 的改动,主要⽬的在于⽤户的便捷性。由于去掉了难以区分的字符,使得 Base58 对于「⼈⼯抄写」更加⽅便。另外,去掉了 "+" "/" 号后也让⼤多数的软件可以⽅便双击选取
URL编码:
 
URL编码:
在 URL 的字符串中,对⼀些不⽤于特殊⽤途的保留字符,使⽤百分号 "%" 为前缀进⾏单独编码,以避免出现解析错误。例如,要在 http://hencoder.com/users 后⾯添加查询字符串,查询 name 为「隐秘&伟⼤」的⽤户,如果直接写成 http://hencoder.com/user/?name=隐秘&伟⼤,"&" 符号就会被解析为分隔符号,因此需要对它进⾏转码,转码后的 URL 为 http://hencoder.com/user/?name=隐秘%26伟⼤ 。这种编码仅⽤于URL,⽬的是避免解析错误的出现。
压缩与解压缩:
 
含义:
· 压缩:将数据使⽤更具有存储优势的编码算法进⾏编码。
· 解压缩:将压缩数据解码还原成原来的形式,以⽅便使⽤。

⽬的:减⼩数据占⽤的存储空间。

压缩是编码吗?
是。所谓编码,即把数据从⼀种形式转换为另⼀种形式。压缩过程属于编码过程,解压缩过程属于解码过程。

常⻅压缩算法:
DEFLATE(ZIP)、JPEG、MP3 等。
图⽚与⾳频、视频编解码:
 
含义:
将图像、⾳频、视频数据通过编码来转换成存档形式(编码),以及从存档形式转换回来(解码)。

⽬的:
存储和压缩媒体数据(⼤多数媒体编码算法会压缩数据,但不是全部)。
字符集:
 
含义:⼀个由整数向现实世界中的⽂字符号的 Map
分⽀:
· ASCII:128 个字符,1 字节
· ISO-8859-1:对 ASCII 进⾏扩充,1 字节
· Unicode:13 万个字符,多字节
· UTF-8:Unicode 的编码分⽀
· UTF-16 :Unicode 的编码分⽀
· GBK / GB2312 / GB18030:中国⾃研标准,多字节,字符集 + 编码
 
序列化:
 
序列化:
把数据对象(⼀般是内存中的,例如 JVM 中的对象)转换成字节序列的过程。对象在程序内存⾥的存放形式是散乱的(存放在不同的内存区域、并且由引⽤进⾏连接),通过序列化可以把内存中的对象转换成⼀个字节序列,从⽽使⽤ byte[] 等形式进⾏本地存储或⽹络传输,在需要的时候重新组装(反序列化)来使⽤。

⽬的:
让内存中的对象可以被储存和传输。

序列化是编码吗?
不是

和编码的区别:
编码是把数据由⼀种数据格式转换成另⼀种数据格式;⽽序列化是把数据由内存中的对象(⽽不是某种具体的格式)转换成字节序列。
 
内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值