编码(encode)

回忆上次内容

  • 上次找到了字符和字节状态之间的映射对应关系
  • 字符对应着二进制字节
  • 二进制字节也对应着字符
  • 这种字节状态是用2位16进制数来表示的
  • hex(n)可以把数字转化为 ​​16进制​​字符串
  • hexadecimal
  • bin(n)可以把数字转化为 ​​2进制​​字符串
  • integer
  • 我们根据ascii中的字符序号
  • 能够把字符存储进计算机的字节当中了

编辑

  • 终于知道字符对应的字节到底长啥样了
  • 但是说到底
  • 为啥要把字符对应成字节呢?

编码解码

  • 字符和字节之间的关系其实是
  • 编码 encode
  • 解码 decode

编辑

  • 编码encode
  • 就是将文字、数字、其它对象编成数字(字节形态)
  • 简单来说就是给大白菜编个号

用计算机统计考勤

  • 实到情况千差万别

编辑

  • 怎么编码呢?

计算机视角

编辑

情况

编码

到了

1

没到

0

  • 这里只用了一个二进制位
  • 这其实是一个一划开天的过程

分阴阳

  • 世界本是混沌一片

编辑

  • 后来我们有了分别心

编辑

  • 于是区分出了两种基本特性
  • 但是刻板的非黑即白是危险的

二生三

  • 阴和阳相互斗争、妥协、转化

编辑

  • 阴阳互根
  • 产生了灰
  • 由于黑白比例不同
  • 灰也可以千变万化
  • 所以也说三生万物
  • 可计算机中如何进一步量化呢?

量化

编辑

编辑

  • 这次用了两个二进制位
  • 于是有了四种可能性

2bit编码

情况

编码

到了

11

迟到

10

因故没到

01

无故没到

00

编辑

  • 我们古人的编码要比这经典得多

四象

  • 两仪生四象
  • 这抽象程度非常高

编辑

  • 春夏秋冬
  • 子午卯酉
  • 元亨利贞
  • 成住坏空
  • 乾坤离坎
  • 天地日月
  • 东南西北
  • 生长收藏
  • 还可以进一步细化吗?

继续细化

情况

编码

到了

111

病假

110

事假

101

迟到10分钟

100

迟到30分钟

011

迟到50分钟

010

因故没到

001

无故没到

000

  • 这也只用了3个二进制位(bit)

编辑

  • 这其实也是一个经典的编码

四象生八卦

  • 卦者,挂也。悬索以示人。
  • 3bit可以形成八卦

编辑

  • 计算机最小的存储单位是字节(byte)
  • 一个字节(byte)有8位(bit)

编辑

  • 可以存放下255种货物的可能
  • 如果有更多的货物应该怎么办呢?

更多编码

  • 编码可以超过一个字节

编辑

  • 需要称重的
  • 每个都有编码

编辑

  • 编码编码
  • 具体来说什么是编呢?
  • 就是建立起事物和数字之间的关系就是编
  • 什么是码呢?

码(code)

  • 有各种码
  • 条码、二维码、密电码
  • 砝码、优惠码、验证码
  • 代码、字节码、邀请码
  • code
  • 来自于法语

编辑

  • 早年间是木板子的判例汇编
  • 后来在电报年代汇编电报码

编辑

计算机编码

  • 我们编程其实就是把生活中的各种逻辑
  • 对应成计算机中的各种指令代码

编辑

  • 这就是编程
  • 也叫写代码
  • 代的意思是指代、代替
  • 码是数码
  • he is coding...

编辑

  • 明白了码(code)
  • 那么这个编码(encode)是什么意思呢?

encode

  • encode
  • en的意思是使东西成为什么样子
  • 放在前面
  • enlarge
  • endanger
  • ensure
  • encourage
  • 放在后面
  • golden
  • wooden
  • woollen
  • darken
  • 前后都放
  • enlighten 启蒙
  • 使心灵亮起来
  • 山水蒙䷃ 开蒙 启蒙
  • 这是 编码英文 encode 的意思
  • 可以试试用python编码吗?

python编解码

编辑

  • 这很简单啊
  • str(字符串)'a' encode(编码)之后
  • 为 ​​b'\x61'​
  • b 的意思是bytes(字节序列)
  • x 的意思是 hexadecimal(十六进制)

编辑

  • 这个encode和hex有点像呢?

多个字符

  • 想查询encode的帮助

编辑

  • 先判断类型
help(str.encode)
help("a".encode)
  • 查询帮助

编辑

  • 可以把多字符的字符串编码为字节吗?

多字符编码

编辑

  • 确实可以多字符编码

编辑

  • 确实是ascii编码
  • 这有点像hex函数...

hex

  • 查询帮助

编辑

  • hex可以把任意的数字变成十六进制字符串形式
  • 如果数字小于255
  • 确实可以转化成2位16进制的形态
  • 但是类型不是字节
  • 而是十六进制的字符串形态

编辑

  • encode的结果是
  • 字节类型
  • 两者有关联吗?

关联

  • 两者确实是有关联的
  • 字符序号的十六进制形态恰好就是
  • 字符在字节中存储的样子

编辑

  • "a"字符的序号的十六进制形态是0x61
  • "a"编码到计算机中的字节状态是b"\x61"
  • 两者都是61

总结

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

编辑

  • 编码基本了解了
  • 给事物编号就是编码
  • 怎么通过编号找回原来的事物呢?

[oeasy]python0016_编码_encode_编号_字节_计算机的更多相关文章

  1. C#中的流_字节_字符_字符串之间的相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. day18_文件处理_迭代器_生成器

    #!/usr/bin/env python # -*- coding:utf-8 -*- # ********************day18_文件处理_迭代器_生成器 ************** ...

  3. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  4. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

  5. js分析 天_眼_查 字体文件

    0. 参考 js分析 猫_眼_电_影 字体文件 @font-face 1. 分析 1.1 定位目标元素 1.2 查看网页源代码 1.3 requests 请求提取得到大量错误信息 对比猫_眼_电_影抓 ...

  6. 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周

    2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...

  7. 『TensorFlow』分布式训练_其三_多机分布式

    本节中的代码大量使用『TensorFlow』分布式训练_其一_逻辑梳理中介绍的概念,是成熟的多机分布式训练样例 一.基本概念 Cluster.Job.task概念:三者可以简单的看成是层次关系,tas ...

  8. 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归

    # coding: utf-8 # 利用 diabetes数据集来学习线性回归 # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况. # 数据 ...

  9. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  10. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

随机推荐

  1. LLM实战:当网页爬虫集成gpt3.5

    1. 背景 最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及未来,LLM终将替代以往的方方面面. 这篇文章主要介绍下该项目, ...

  2. 卷爆短剧出海:五大关键,由AIGC重构

    短剧高温下,谈谈AIGC的助攻路线. 短剧,一个席卷全球的高温赛道. 以往只是踏着霸总题材,如今,内容循着精品化.IP化的自然发展风向,给内容.制作.平台等产业全链都带来新机,也让短剧消费走向文化深处 ...

  3. .NET桌面程序混合开发之二:在原生WinFrom程序中使用WebView2

    本文将介绍如何在WinForms中嵌入WebView2,并讲到WebView2的主要特征.点击了解更多WebView2的API. 1. 准备 Visual Studio 2017 及以上版本 WebV ...

  4. k8s核心组件详解和分层架构

    k8s核心组件 master中的核心组件 api-server(接口服务,基于rest风格开放k8s接口的服务) kube-controller-manager(管理各个类型的控制器,针对k8s中的各 ...

  5. pands基础--数据结构:Series

    从本文开始介绍pandas的相关知识. pandas含有是数据分析工作变得更快更简单的高级数据结构和操作工具,是基于numpy构建的. 本章节的代码引入pandas约定为:import pandas ...

  6. 阿里bxet逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 x82y 分析过 ...

  7. SRE心里话:要求100%服务可用性就是老板的无知

    <SRE Google 运维解密>第3章讲了拥抱风险,一些关键的观点,在这里与大家分享,融入了我自己的一些理解,希望对你有些帮助. 服务可用性必须100%?其实完全没必要 一个服务客户的产 ...

  8. 玩爆你的手机联系人--T9搜索

        自己研究了好几天联系人的T9搜索算法, 先分享出来给大家看看. 欢迎指教.如果有大神有更好的T9搜索算法, 那更好啊,大家一起研究研究,谢谢. 第一部分是比较简单的获取手机联系人. 获取联系人 ...

  9. k8s健康检查(探针Probe)之LivenessProbe、ReadinessProbe和StartupProbe

    背景 集群正常服务时,会出现容器死掉问题,如宿主机故障.资源不足.下游故障等.这个时候容器需要从endpoints摘除(容器挂了就不能接流了),并执行它的restart策略. LivenessProb ...

  10. Go语言中Kill子进程的正确姿势

    场景 我们在编写部署系统的时候,通常需要在机器上部署一个agent,用来执行部署脚本,为了防止部署脚本写的有问题,长时间hang住,我们通常会为脚本的执行设置一个超时时间,到了时间之后就kill掉该脚 ...