Byte與ASCII碼錶

  
   在內存中,數據都是以byte 爲單位存儲在內。當程序文件加載到內存中,才能運行。1 byte =8bit,即8個0或1組成的序列。所以內存中都是0和1。比如對於內存中的一段bit序列01100001,如果賦予它爲整數類型,它就代表十進制的97或十六進制的61(0x61);如果把它看做一個字符串,查ASCII碼錶,它就是字母a。所有的文件不論它是什麼格式,都可以用記事本打開。因爲文件加載在內存中都是連續的bytes,用ASCII碼錶來解碼,是沒有問題的,只不過顯示的效果有出入。爲了方便內存中的操作,Python 中引入了不可變的Bytes數據結構和可變的Bytearray數據結構。

ASCII碼錶
   在ASCII碼錶中,大寫字母A~Z是十六進制數41到5A,小寫字母是十六進制數61到7A。大寫字母用二進制表示的話是從:
01000001   到   01011010
小寫字母是從:
01100001   到   01111010
對比可以看出,差別在二進制從右往左第6位(b5)上,小寫比大寫多1,這可以理解爲字母大小寫切換的開關位,單擊鍵盤上的“caps lock”或長按shift就與其有關。同樣的,在主鍵盤區上,除了字母外一個鍵位通常對應兩個符號,比如在1和!在一起,3和#在一起,等等。查ASCII碼錶也能找到shift鍵作爲開關鍵的依據。可見,ASCII碼錶在設計時就是考慮了人類常用字符與交互工具-鍵盤的鍵位對應。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章