码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • String64类的设计思想


    背景

    现在的计算机,能一次处理64比特数据。放在DOS时代,一个文件名也才8字节,正好64比特。也就是说,现在的计算机,能一次处理一个DOS文件名。是当做一个数字来处理的,不是当做字符串处理。所以,有了String64类的设想,把常用的句子,都压缩到64比特,便于计算机处理。

    步骤

    第一步,制作字典。
    要包括常用的“字、词、句”。如“操作系统”是个常用词,要包括,作为一个编码单位来存储。实践中会出现难以压缩至64比特的句子,也要纳入字典。

    第二步,编码。
    采用inf7编码,即7比特为一个编码单位,有1××××××和0××××××两种模式。1模式表示继续,0模式表示终止。
    举例:
    0××××××,这是一个6比特数字
    1××××××0××××××,这是12比特数字
    1××××××1××××××0××××××,这是18比特数字

    第三步,压缩至64比特。
    7×9+1=64
    在一个64比特中,可以表示9个英文字母。
    剩余的1比特,表示“是否继续”。与inf7编码类似,0表示终止,即“只有这一个64比特”;如果出现1,则是继续,直到出现0开头的编码,才终止。
    0+[63bit],这是常见形式
    1+[63bit]+0+[63bit],这是扩展形式
    1+[63bit]+1+[63bit]+0+[63bit],进一步扩展

    第四步,回溯。
    整个String64类,可以用64比特表示54比特数字信息。而一个常用句子,将占用一个64比特。所以,在字典中,一个常用句子应该从54比特的最大数开始,由大到小,逆向编码。例如,某个句子特别长,要把它压缩至64比特,应该在字典中,赋予它54比特长的一个数字。

    总结

    有了String64类,就能把常用的句子,压缩至64比特,让计算机在一个时钟周期内完成处理,从而有希望加快其运行速度。

    为了得到更好的压缩率,使用针对汉语优化的GBK编码,可以在64位里记录4个汉字。

  • 相关阅读:
    Python——序列_集合
    2022-08-18 网工进阶(二十七) VRRP进阶知识-报文格式、定时器、状态机、主备(选举、切换、回切)、负载分担、监视、与MSTP结合应用
    格雷希尔G72L系列法兰式密封快速连接器的应用
    IO多路复用 select/poll/epoll
    进程间通信之信号灯 || 网络协议UDP/TCP || 三次握手四次挥手
    华为ENSP网络设备配置实战2(较为复杂的ospf)
    抖音短视频实操:如何写出爆款标题(下)爆款标题的五种形式
    nginx网站服务
    单例模式Singleton
    一、特征工程
  • 原文地址:https://blog.csdn.net/proorck2019/article/details/134003095
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号