五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[oeasy]python0018_ ASCII_字符分布_數(shù)字_大小寫字母_符號_黑暗森林

2022-11-21 20:09 作者:oeasy  | 我要投稿

打包和解包

回憶上次內(nèi)容

  • decode

    • 就是解碼

  • 解碼和編碼可以轉(zhuǎn)化

    • encode 編碼

    • decode 解碼

    • 互為逆過程

  • 大小寫字母之間序號全都相差(32)10進制

  • 這是為什么呢???

差距

  • 大寫字母和小寫字母

    • 總是相差(32)10進制

  • 從10進制角度看不清楚

  • 我們從16進制的角度看看

16進制

  • 正好是(0x20)16進制

  • 為什么不多不少

    • 就差 0x20 呢?

    • 怎么那么寸呢???

  • 轉(zhuǎn)化為2進制之后

    • 恰好是1位(bit)

  • 這是偶然的嗎?

ASCII 碼表趣事

  • 其實最初相差的并不是 0x20

    • 之前 ibm 的 EBCDIC 編碼也是這樣的

  • 也相差一個2進制位

  • EBCDIC問題是字母不連續(xù)

    • i、j之間不直接相連

  • EBCDIC最終被ascii所淘汰

ASCII

  • ASCII字母是連續(xù)的

    • 而且大小寫字母間

    • 相差正好是 1個 二進制位

    • 對應(yīng) b6 這個位

  • 那為什么要差 1個 二進制位 呢?

  • 有了這種對應(yīng)關(guān)系之后

    • The X3.2.4 task group voted its approval for the change to ASCII at its May 1963 meeting.

    • Locating the lowercase letters in columns 6 and 7 caused the characters to differ in bit pattern from the upper case by a single bit, which simplified case-insensitive character matching and the construction of keyboards and printers.

    • 做大小寫不敏感的字符串查找就快多了

    • 這個 0x20 發(fā)生在 1963 年 5 月

  • 當(dāng)時的目的是

    • 降低大小寫不敏感字符串匹配的難度

    • 降低打字機鍵盤的構(gòu)造成本

  • 如果搜索中遇到的是小寫字母

    • 小寫就都變成大寫

    • 不用查找對應(yīng)關(guān)系表匹配

    • 修改1位之后

    • 然后再觀察全大寫的情況下是否匹配

  • 這就是大小寫字母的情況

    • 0x41-0x5A這個范圍是大寫字母

    • 0x61-0x7A這個范圍是小寫字母

  • 除了大小寫字母之外

    • 數(shù)字字符又是如何表示的呢?

ASCII 碼表范圍

  • 0x30-0x39這個范圍是數(shù)字

    • Binary-Coded Decimal

    • 數(shù)字的編碼減去0x30正好得到數(shù)字本身

    • 后四位剛好是BCD編碼模式

  • 我們再來看看 ASCII 除了字母和數(shù)字還有什么?

各種符號

  • 各種符號是不連續(xù)的

  • 穿插在數(shù)字、字母周圍

    • sp 其實就是space(空格)

  • 表格最左邊是什么呢?

ASCII

  • 0x20-0x7F 之間有各種真實字符

  • 0x00-0x1F 之間的東西是什么?

    • 具體含義目前還不知道

    • 前兩列都是對應(yīng)多個字符的

  • ASCII中的字符本來英語里就有

    • 怎么編碼的呢?

    • 但是字符是英文字符、數(shù)字和標點

ASCII由來

  • ASCII碼是由電報代碼發(fā)展而來的

  • 由貝爾數(shù)據(jù)服務(wù)公司推廣

  • 電報碼不是摩斯電碼嗎?

摩斯電碼

  • 更早之前確實是摩斯電碼

  • 下圖是他的編碼表

    • 分成長和短兩種信號,就是嘀和嗒

摩斯電碼通信規(guī)則

  • 下圖是他的通信規(guī)則

    • 三個斷確認本字符結(jié)束了

    • 三個斷就是字符之間的分隔符

    • 錄入狀態(tài)并不是 0、1 兩種狀態(tài)

    • 而是長、短、暫停三種狀態(tài)

  • 編碼的原則是什么呢?

效率問題

  • 編碼的規(guī)則是常用的字符點擊次數(shù)少

    • T、E 出現(xiàn)頻率最高

    • 所以用一次點擊電鍵的數(shù)量

    • 按照字符出現(xiàn)概率分配對應(yīng)點擊數(shù)量

    • 本質(zhì)上是一棵霍夫曼樹

  • 當(dāng)時發(fā)射和接收全靠人

    • 什么叫長、什么叫短、什么叫斷

  • 發(fā)送者控制發(fā)報速度

    • 摩斯電碼碼表

    • 常用縮寫

    • 接收者跟著這個發(fā)報速度

    • 現(xiàn)查表是來不及的

    • 需要熟悉

  • 這摩斯電碼是3進制的編碼方式

  • 怎么變成ascii這種0101的二進制編碼的呢?

總結(jié)

  • ASCII 由這樣幾類字符構(gòu)成

    • 英文大寫字符

    • 英文小寫字符

    • 數(shù)字

    • 符號

  • 電報時代對于英文、數(shù)字的編碼

    • 使用的是摩斯電碼

  • 這摩斯電碼是3進制的編碼方式

    • 長短空

  • 怎么演化成ascii這種0101的二進制編碼的呢???

  • 下次再說????

  • 藍橋->https://www.lanqiao.cn/teacher/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

  • 視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy






[oeasy]python0018_ ASCII_字符分布_數(shù)字_大小寫字母_符號_黑暗森林的評論 (共 條)

分享到微博請遵守國家法律
大石桥市| 吉首市| 清水县| 灌阳县| 息烽县| 伊宁县| 特克斯县| 阜康市| 台东市| 连南| 泸西县| 习水县| 江北区| 长沙市| 嘉善县| 孟连| 金川县| 天门市| 平度市| 如皋市| 乐平市| 巨野县| 武邑县| 彭水| 陆丰市| 谷城县| 布尔津县| 根河市| 那坡县| 承德县| 长沙县| 巴南区| 鄂尔多斯市| 宜州市| 女性| 荆州市| 同心县| 金山区| 峨山| 淮南市| 中卫市|