Skip to content

Latest commit

 

History

History
158 lines (111 loc) · 3.08 KB

File metadata and controls

158 lines (111 loc) · 3.08 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0289
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

文件的字节形态

回忆上次内容

  • 上次了解到一个新的概念
    • 字节(byte)
  • 字节 是
    • 计算机最小的存储单位

图片描述

  • 一个字节(byte) 有8位(bit)
    • 8-bit
  • 每个 ASCII 字符
    • 都放到一个字节 中
  • 我可以看看 这个字节长什么样子吗?

查看状态

  • 键入 vi ascii.txt
    • 使用vi 编辑ascii.txt
  • 按下i
    • 进入插入模式
  • 插入模式下
    • 写下abcd四个字母
  • 按下esc
    • 退回到正常状态

图片描述

  • 键入 :wq
    • 保存 并 退出

查看文件

  • 退回到shell之后
cat ascii.txt
ls -l ascii.txt
  • ls -l ascii.txt
    • 可以 查看 ascii.txt的详细信息
    • 注意命令中的空格

图片描述

  • 将终端窗口向右侧移动

图片描述

  • 点击桌面的Home图标
    • 启动文件管理器

文件管理器

  • 可以 打开ascii.txt观察文件内容
  • 还可以 右键ascii.txt查看文件大小

图片描述

  • ascii.txt 明明只有四个字符
    • 为什么会有 五个字节 呢?

转储

  • 重新用 vi 编辑ascii.txt
vi ascii.txt
  • 键入 :%!xxd
    • 将文件 转储为 字节形态

图片描述

  • %!xxd
    • % 对所有行执行
    • !xxd 外部命令xxd
      • 可以 看到
      • abcd 的字节状态

字节状态

  • 运行结果

图片描述

  • a的序号是97
    • 但是目前显示为61
      • 这是为什么呢?

观察 ASCII 应用

sudo apt install ascii
ascii
  • 观察结果

图片描述

  • 字符 a
    • 十进制形式 96
    • 十六进制形式 61
  • 找到对应关系

对应关系

  • 这种字节状态
    • 是用 2位16进制数 来表示的
  • hex(n)可以把数字 转化为 16进制字符串形态
    • 对应单词为 hexadecimal

图片描述

字节序号 字符 字节状态
1 a 61
2 b 62
3 c 63
4 e 64
5 . 0a

总结

  • 这次编辑了1个纯文本 文档
    • abcd

图片描述

  • 字符确实是

    • 存储在 字节里面的
  • 但是 转储的时候

    • 显示的 是 十六进制形态(Hex)
  • 究竟啥是 十六进制 呢?

    • 为什么 又出现一个 十六进制 呢??🤔
  • 我们下次再说!👋


  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。