编码

作者: 7d972d5e05e8 | 来源:发表于2020-04-20 21:13 被阅读0次

一、这里比较下常见变长编码规则:UTF-8和哈夫曼编码

编码:

  1. utf-8编码是对Unicode(万国码)进行编码,Unicode是固定不变的,属于标准。
  2. 哈夫曼编码是根据文本或者图片等等资源,先进行概率统计。得到概率值后,构造哈夫曼树,然后对叶子节点进行编码,动态生成该资源的码表。这个码表,不同资源一定是不同的。

解码:

  1. utf-8解码,只需要查询固定不变的Unicode码表,就能解码出原始文本
  2. 哈夫曼解码,需要查询哈夫曼编码自己独有的码表。这个码表,一定会随着网络通信传递给对方。比如:最常见的应用压缩。通过哈夫曼编码压缩资源,生成zip文件。这个zip文件格式,一定会包含哈夫曼编码的码表,以及编码压缩后的二进制数据。把整个zip通过网络传递给对方,对方拿到压缩后的二进制数据在解码。

二、一次压缩文件的传输过程

原始文本:abaaac
如果不压缩,直接通过utf-8编码,通过网络传递给对方。那么该文本的二进制长度:8bit * 6 = 48bit
如果使用哈夫曼编码进行压缩,再网络传输给对方。那么该文本需要先构建哈夫曼树,然后对叶子节点编码,得到码表。传输的时候,把码表和二进制同时传递给对方。对方解码的时候,查询码表,解码出来原始数据。

参考文章:https://zhuanlan.zhihu.com/p/123368046
哈夫曼编码压缩后,生成的码表table,用UTF-8编码进行网络传输。二进制数据就是哈夫曼编码的结果,不在utf-8编码了。这样:
整个哈夫曼编码压缩的长度 = 二进制数据长度 + 码表table长度

相关文章

  • mysql编码

    查看编码 查看数据库编码 查看表编码 查看字段编码 修改编码格式 修改数据库编码格式 修改表编码 修改字段编码

  • 编码

    编码 编码格式(ASCII编码,GB2312编码(简体中文),GBK,ANSI编码,unicode,utf-8编码...

  • 网络安全编码书目录

    网络安全编码 Base64编码 MD5编码 SHA1编码 SHA256编码 HMAC编码

  • 前端开发文档规范

    HTML 编码规范 请查看HTML编码规范 CSS 编码规范 请查看CSS编码规范 JavaScript 编码规范...

  • 音频技术基础

    一、音频编码调制技术 根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的...

  • 第五节课的第三个作业

    #编码 #编码

  • MPT 中对 key 的编码

    MPT中涉及到了三种编码,分别为keybytes编码、Hex编码和Compact编码。 keybytes 编码 这...

  • NSLocale

    国家编码语言编码货币符号货币编码 =============currentLocale==============...

  • 二维码学习笔记——编码

    数据编码 源数据编码 编码模式(模式指示符) 我们先来说说数据编码。QR码支持如下的编码: 数字编码(Numeri...

  • ruby编码说明【转】

    程序编码一般分几种情况: 源码文件编码 接收外部内容的编码 运行环境编码 操作系统编码 首先源码文件的编码,可以通...

网友评论

      本文标题:编码

      本文链接:https://www.haomeiwen.com/subject/pcmdihtx.html