Skip to content

Latest commit

 

History

History
288 lines (207 loc) · 6.52 KB

283-568036-解码_decode_字节序列_bytes_字符串_str.sy.md

File metadata and controls

288 lines (207 loc) · 6.52 KB
show version enable_checker
step
1.0
true

解码 decode

回忆上次内容

  • code就是码
    • 最早也指电报码
    • 后来有各种码
      • 密码
      • 砝码
      • 条码
    • 都指的是
      • 给各种事物编个号
        • 数字化
  • encode就是编码
    • 编码就是给事物编个号

图片描述

  • 给事物编号之后
    • 就可以放到计算机的字节中了
      • 这就是编码
  • 我们通过 能否通过
    • 已经放到计算机中的字节
      • 找回 原来对应的事物呢?🤔

解码

  • 铃 还需 系铃人
    • 码 是 码 的 运算

图片描述

  • 上次
    • 把 白菜和价格 编成码
  • 现在
    • 扫到这个码
  • 就知道 这个码
    • 对应 这个大白菜
      • 并知道 价格
  • 这就是 解码

图片描述

  • 这解码 用英文怎么说呢?

解码(decode)

  • de 的意思是反向操作
    • defuse 解除保险炸弹引信
    • decolor 漂白
    • defame 中伤
    • destruct 破坏
    • demodulation 解调制

图片描述

编解码过程

  • decode 就是和 encode 相反的
    • 把数字 还原为一个生活中的事物

图片描述

  • 对话时
    • 我们的大脑 在编码解码
  • 计算机 也可以 编码解码
    • 试试用 python 解码

编解码

  • str(字符串)'a' encode(编码)之后
    • b'\x61'

图片描述

  • b'\x61' 是什么类型来着

bytes类型

  • bytes类型
    • 对应着 字节序列

图片描述

  • bytes(字节序列) b'\x61'
    • decode(解码)之后
      • 得到str(字符串)'a'

图片描述

  • 编码(encode) 和解码(decode) 互为逆运算
  • 很像
    • 字符(chr)和 序号(ord)
  • 一阴一阳之谓道

编码解码

  • 一般都是
    • 先编码再解码
  • 编好码之后
    • 也可以先解码再编码

图片描述

  • 绕来绕去
    • 也没做神马😁
  • 掌握这个基础 是最起码
    • 基本功 要练得 硬桥硬马
  • 实战方能 稳扎稳打
    • 否则以后 各种乱码

图片描述

  • 字节编码其实已经形成一个闭环

闭环

  • 字符的这三个东西 形成了一个闭环
    • 字符本身
    • 字符序号数字
    • 字符的字节状态

图片描述

  • 已经 可以将一个字节 解码为字符 了

图片描述

  • 可以将 多个字节的 字节序列
    • 解码为 字符串 吗?

解码

  • 确实可以!

图片描述

  • 应该如何理解decode函数呢?

查询文档

help(bytes.decode)
  • 查询帮助手册

图片描述

  • 解码
    • 就是把计算机中的字节
      • 解回来 成为生活中的东西
  • 解码
    • 解的是
      • 已经编好码的各种字节序列
  • 各种格式的文件
    • 都需要解码

图像编码

  • 图像、声音、影片
    • 计算机中的一切都需要编码

图片描述

  • 编码之后才能存储、传输
    • 还原成图像、声音、影片的时候
      • 需要解码

转化格式

  • 把生活中的东西
    • 放入计算机字节
      • 编码

图片描述

  • 把计算机中编好码的字节
    • 还原回到生活当中
      • 解码

视频

  • 解码之后
    • 换一种 编码方式 再编码
    • 叫做 转码

图片描述

深度学习

  • 需要计算机自己进行编码
    • 叫做自编码
  • 计算机会自己根据资料
    • 进行学习
    • 根据学习的反馈
      • 把各种规律自己总结出来
  • 自己 完成各种权重的配置
    • 自己 编码 放到计算机中
      • 生成模型
      • 放到计算机的字节序列里

图片描述

  • 根据深度学习生成的模型结果
    • 再进行分类或者判断
      • 就是解码
  • 总结一下各种概念

概念总结

  • 比特(bit)

    • 也可称为“位”
    • 是计算机信息中的最小单位
    • 是 binary digit(二进制数位) 的 缩写
    • 一个位就代表“0”或“1”
    • 指二进制中的一位
  • 字节(Byte)

    • 计算机中信息计量的一种单位
    • 每8个位(bit)组成一个字节(Byte)
  • 字符(Character)

    • 文字与符号的总称
    • 可以是各个国家的文字、标点符号、图形符号、数字等
  • 字符集(Character Set)

    • 是多个字符的集合
  • 编码(Encoding)

    • 将从生活中的事物
    • 转化成 字节 进行存储
  • 解码(decoding)

    • 编码的逆过程
    • 将存储的字节
    • 转化成生活中的事物
  • 字符编码(Character Encoding):

    • 按照何种规则存储字符
  • 回到 字符编码

    • ascii编码规则为什么这样编呢?
    • 大小写字母之间有什么关系呢?

大小字母差值

  • 输出 a 的 ASCII码
    • ord("a")
  • 输出 A 的 ASCII码
    • ord("A")
  • 输出 大小写之差
    • ord("a")-ord("A")
  • 差值的16进制形式
    • hex(ord("a")-ord("A"))
  • 差值的2进制形式
    • bin(ord("a")-ord("A"))

图片描述

  • 大写字母和小写字母相差(32)10进制
  • 去ascii码表里面观察一下!

ascii码表

  • 确实相差一个32

图片描述

总结

  • decode
    • 就是解码
  • 解码和编码互为因果
    • encode 编码
    • decode 解码
    • 互为过程

图片描述

  • 大小写字母间

    • 序号全都相差(32)10进制
    • 中间 还穿插着符号
    • 为什么不都连在一起呢?🤔
  • 我们下次再说👋🏻