1 位 进制

1 概念

1 计算机二进制:在计算机中,所有的数据在存储和运算时都要使用二进制数表示

              (因为计算机用高电平和低电平分别表示1和0)

2 编码

         具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码

3 编码标准化

        美国有关的标准化组织就出台了ASCII编码,统一规定了常用符号用哪些二进制数来表示

4 b byte 字符 字节

   bite(简写b):二进制数中的一个数位,即  “0” 或者 "1"

  byte(简写B):字节

  字节跟字符有关!

  英文字符:单字节

  中文字符:两个字节

  1 Byte = 8 bit

  ps:一般文件大小 都是Byte  

        而宽带网速 是bit:比特每秒(bits per second)bps

        

下载速度从理论上来说,应该是 带宽的 八分之一。

2M 宽带理论下载速度是 256 KB

10M 宽带理论下载速度是 1280 KB

  2 ASCII码 BASE64对照表

    2.1 编码对照表
    ASCII BASE64:   https://blog.csdn.net/hellolovelife/article/details/81034957

    2.2 BASE64  

         2.2.1 BASE64:包含大小写字母各26个!+0-9 10个数字 再加特殊字符 + - =64个

         2.2.2 为什么要使用BASE64?

比如发送:

        Hello

        world!

        if I send it as ASCII (or UTF-8) it will look like this:

         72 101 108 108 111 10 119 111 114 108 100 33

          其中10 换行符:在某些系统会损坏!所以:要对二进制进行BASE64编码!

       2.2.3 BASE64能不能取代URLencode

        base64虽然能编码特殊字符,但是其对照表中还有+ - ,依然有特殊字符!所以不能替代URLencode!

        2.2.4 BASE64应用常见作用(网络上最常见的用于传输8Bit字节代码的编码方式

         主要应用于把二进制转化为字符!(即:把二进制信息转化为文本信息)

         早期的一些邮件服务器只支持文本信息,不支持二进制信息和文件。

         而base64编码后的结果都是纯文本的,适合用电子邮件来传送二进制数据

        2.2.5 BASE64编码原理    

         三个8位,先变为4个6位,通过在每个6位前补00,最终变成4个8位!(最终的文本长度增加了33%)

         Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式 

    可以这么考虑:把8位的字节连成一串110101011100010100110011 
    然后每次顺序选6个出来之后再把这6二进制数前面再添加两个0,就成了一个新的字节。之后再选出6个来,再添加0,依
    此类推,直到24个二进制数全部被选完。 
    让我们来看看实际结果: 

3 BASE64 优化HEX


BASE64与HEX,均在 org.apache.commons.codec 此JAR下讨论!

不是JAVA自带的BASE64或者其他版本!

BASE64与HEX 都可以把字节流编码为文本流!

区别:BASE64 转化为可能包含+ - / =特殊字符

        HEX:不存在特殊字符!是纯数字与字母的组合


4 区别 二进制 字节 文本 文件

        byte:字节

        文本:字符  字节到文本----可以通过BASE64






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值