字節(Byte)是計算機信息技術用於計量存儲容量的一種計量單位,也表示一些計算機編程語言中的數據類型和語言字符。html
比特(bit)在計算機中最小的單位,在二進制位的電腦的系統中,每一bit,表示0或1 ,的數字信號。算法
符號: 英文標點佔一個字節,中文的標點佔兩個字節。例:英文句號"."佔一個字節大小,中文句號"。"佔兩個字節大小。編程
進制的表示:網絡
二進制: 0 1編程語言
8進制 : 0 1 2 3 4 5 6 7 (0-7的組合)(8進制的一位對應2進制的3位,不足3位補位用0表示)編碼
10進制:0-9的組合spa
16進制:0 1 2 3 4 5 6 7 8 9 A B C D E F(0-F的組合)(16進制的一位對應2進制的4位,不足4位補位用0表示)操作系統
進制之間的轉換:設計
http://jingyan.baidu.com/article/495ba84109665338b30ede98.htmlcode
數據存儲
硬盤廠商是以10進制(即10的3次方=1000,1MB = 1000KB)計算的,而計算機是二進制表示(2的10次方,即1MB = 1024KB)。
在計算機好多1TB的硬盤,在計算機只有
1TB = 1000GB = 1000000MB = 1000000000KB = 1000000000000B 硬盤廠商表示
1TB = 1000000000000B /1024 /1024 /1024 = 931GB 計算機容量表示
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
數據傳輸:
數據存儲是字節("Byte")爲單位,數據傳輸大可能是以「位」("bit",又名「比特」)爲單位,一個位就表示0或q(即二進制),每8個位("bit",簡寫爲b)組成一個字節(Byte,簡寫B),bit是最小一級的信息單位
在計算機中傳輸的最小單位是信號單位bit ,數字信息流的基本單位是bit,時間的基本單位是s(秒),所以bit/s(比特每秒)是描述寬帶的基本單位。
帶寬(bps)就是在一個固定的時間內(1秒),能經過的最大位數據。
bps (bit per second)
例:
有些寬帶運營商,一個20Mbps的帶寬 ,而實際的最大下載速度大約只有2.5MB/s (這是以每秒多少字節下載,大寫B)
20Mb/s = 20 / 8 = 2.5MB/s
1Mb/s = 1024Kb/s = 1024Kb / 8 = 128KB / s
你的上傳速度和下載速度 都是共用你的帶寬
字符編碼就是:特定的字符如何對應一個特定的數字標準
1.ASCII編碼
因爲計算機是美國人發明的,所以,最先只有128個字母被編碼到計算機裏,也就是大小寫英文字母、數字和一些英文符號,這個編碼被稱爲ASCII碼,最初使用的是ASCII碼(American Standared Code for information interchange ,美國標準信息交換碼)。
雖然標準ASCII字符集字符數目有限, 但因爲計算機基本處理單位爲字節(1Byte =1bit ),因此通常 任意一個字節存放一個ASCII字符,每個字節中多餘出來的一位(最高位)在計算機內部一般保持爲0(在數據傳輸是可用作奇偶校驗位。)因爲標準ASCII字符集數目有限,在實際應用中每每不夠用,後來加入了不少畫表格時須要用到下劃線、豎線、交叉等序號遍到了最後一個狀態255,從128到255這一頁的字符集稱爲「擴展字符集」。
2.GBK 、GB18030、GB2312
GB2312(1980年)一共收錄了7445個字符,包括6763個漢字和682個其它符號。漢字區的內碼範圍高字節從B0-F7,低字節從A1-FE,佔用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
GB2312 支持的漢字太少。1995年的漢字擴展規範GBK1.0收錄了21886個符號,它分爲漢字區和圖形符號區。漢字區包括21003個字符。2000年的 GB18030是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。如今的PC平臺必須支持GB18030,對嵌入式產品暫不做要求。因此手機、MP3通常只支持GB2312。
GBK就是漢字編碼的規範
從ASCII、GB23十二、GBK 到GB18030,這些編碼方法是向下兼容的,即同一個字符在這些方案中老是有相同的編碼,後面的標準支持更多的字符。
3.unicode編碼
全世界有上百種語言,日本把日文編到Shift_JIS
裏,韓國把韓文編到Euc-kr
裏,各國有各國的標準,就會不可避免地出現衝突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。
所以,Unicode應運而生。Unicode把全部語言都統一到一套編碼裏,這樣就不會再有亂碼問題了。Unicode標準也在不斷髮展,但最經常使用的是用兩個字節表示一個字符(若是要用到很是偏僻的字符,就須要4個字節)。現代操做系統和大多數編程語言都直接支持Unicode。
UNICODE 。( Universal Multiple-Octet Coded Character Set )簡稱UCS
在UNICODE 中,一個漢字算兩個英文字符的時代已經快過去了。
不管是半角的英文字母,仍是全角的漢字,它們都是統一的「一個字符」!同時,也都是統一的「兩個字節"」
請注意」字符」和」字節」兩個術語的不一樣,「字節」是一個8位的物理存貯單元,而「字符」則是一個文化相關的符號。在unicode中,一個字符就是兩個字節。一個漢字算兩個英文字符的時代已經快過去了。
咱們已經知道,英文字母只用一個字節表示就夠了,若是unicode統一規定,一個字符都表示兩字節這對於存儲空間來講是極大的浪費,文本文件的大小會所以大出二倍,這是難以接受的。
4.UTF-8
unicode在很長一段時間內沒法推廣,直到互聯網的出現,爲解決unicode如何在網絡上傳輸的問題,因而面向傳輸的衆多 UTF(UCS Transfer Format)標準出現了,顧名思義,UTF-8就是每次8個位傳輸數據,
而UTF-16就是每次16個位。UTF-8就是在互聯網上使用最廣的一種unicode的實現方式,這是爲傳輸而設計的編碼,並使編碼無國界,這樣就能夠顯示全世界上全部文化的字符了。