問題1:計算機如何存儲數據?
狹義數據分類:數值,符號(加減乘除,特殊符號,漢字等)
所有的數據(數據,圖像,音頻,視頻)會轉化成二進制數據,然后以二進制數據串的形式存儲在計算機內部。
計算機系統只能存儲和使用二進制0101。。。代表的數據
比如:UTF-8編碼中,丁曉明 是3個字,轉換成二進制可能是 0101011101010101010101。。。
計算機內存中的數據也是二進制嗎?
計算機內存中數據也是二進制
問題2:計算機最小的存儲單元是什么?
內存中運算的最小存儲單位是字節,位運算也是在一個字節的存儲單位的基礎上進行的,
字節是計算機體系中(內存,磁盤)最小的可尋址單元,每個字節有個地址單元信息!
計算機各種存儲器(內存,磁盤)的最小存儲單位是字節,byte。
存儲單元是CPU訪問存儲器的最小單位!
1byte由8位二進制碼值組成,每一位二進制碼叫比特;
1byte 的值域[00000000 ~11111111],能表示數字[0,255]
問題來了,計算機如何表示字符?
問題3:如何表示字符等人類能看懂的信息?為什么有編碼/解碼?
前提,計算機只能處理二進制的0/1數據;但是人並不能看懂0101;計算機如何表示字符呢?
為了讓人可以操作計算機,就提出一種方案:固定的0101數字串代表固定的字母,字符,符號;這樣人就能看懂了;
於是乎就有了Unicode方案,UTF-8方案,GBK方案;
編碼和解碼的存在就是讓人和計算機能夠聯通!是2端的翻譯!
編碼的實質就是一種轉換標准,什么樣的二進制數字串,代表什么樣的信息;將機器語言轉換為人的語言;
解碼的實質也是一種標准,將字符,符號等轉換成機器語言。
問題又來了
一個字符占多少存儲單元[byte]?
問題4:一個字符占多少存儲單元byte?
英文字母 中文漢字
①ASCII碼 1個字節 2個字節
②UTF-8編碼 1個字節 3個字節【含繁體】
③Unicode編碼 2個字節 2個字節
符號:英文標點占一個字節,中文標點占兩個字節。舉例:英文句號“.”占1個字節的大小,中文句號“。”占2個字節的大小。
④UTF-16編碼 2個字節 2個字節【某些漢字需要4個字節】
⑤UTF-32編碼 世界上任何字符的存儲都需要4個字節。
問題3:計算機存儲數據的單位是什么?
數據存儲是以10進制表示,數據傳輸是以2進制表示的,所以1KB不等於1000B。
1KB=1024B;1MB=1024KB=1024×1024B。其中1024=210。
1B(byte,字節)= 8 bit(見下文);
1KB(Kibibyte,千字節)=1024B= 2^10 B;
1MB(Mebibyte,兆字節,百萬字節,簡稱“兆”)=1024KB= 2^20 B;
1GB(Gigabyte,吉字節,十億字節,又稱“千兆”)=1024MB= 2^30 B;
1TB(Terabyte,萬億字節,太字節)=1024GB= 2^40 B;
1PB(Petabyte,千萬億字節,拍字節)=1024TB= 2^50 B;
1EB(Exabyte,百億億字節,艾字節)=1024PB= 2^60 B;
1ZB(Zettabyte,十萬億億字節,澤字節)= 1024EB= 2^70 B;
1YB(Yottabyte,一億億億字節,堯字節)= 1024ZB= 2^80 B;
1BB(Brontobyte,一千億億億字節)= 1024YB= 2^90 B;
1NB(NonaByte,一百萬億億億字節) = 1024 BB = 2^100 B;
1DB(DoggaByte,十億億億億字節) = 1024 NB = 2^110 B;
問題4 :字節,比特,比特率
字節是數據存儲的最小單位
一個字節由8個比特組成,1byte=8bit
一個字節就是一個8位的二進制數如:10010100 , 而其中的一個0/1就是1個bit;
一個字節能表示多大的數字?0~255
比特是計算機系統中最小的信息單位,比特是數據傳輸的最小單位
比特率 https://zh.wikipedia.org/wiki/比特率
比特率是單位時間內傳輸的bit數
數字信息流的基本單位是bit(比特),時間的基本單位是s(秒),因此bit/s(比特/秒)是描述帶寬的單位,1bit/s是帶寬的基本單位,所謂的帶寬其實指的是傳輸速度的快慢,也就是指在一個固定的時間內(1秒),能通過的最大位數據。
比特率bit/s就是吞吐量,每秒能傳遞多少位的數據;
參考
計算機是如何存儲數據的總結- 網格存儲字符法
https://www.jianshu.com/p/3065e30dda48
為什么計算機最小的存儲單位是字節?而最小到的傳輸單位是bit?
http://blog.csdn.net/ebw123/article/details/51420076
存儲單元百度百科
https://baike.baidu.com/item/存儲單元
字節百度百科
https://baike.baidu.com/item/字節
字符編碼筆記:ASCII,Unicode 和 UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html