常見字符集

1. 常見字符集

計算機內部全部的信息最終都是一個二進制的值,無論是文本信息或者是圖像等的其餘信息網絡

1.1 文字

計算機內部文字的存儲就是提早的約定,1(二進制00000001)表明某個字符,32(二進制00100000)表明空格編碼

1.2 圖像

人類已經明白能夠經過組合不一樣比例的紅,綠,藍三種顏色來獲得各類各樣的顏色,如今的計算機,通常使用32位來表示顏色,4B。前三個B分別表明紅,綠,藍,一個byte中8bit,能夠表示256種紅,因此3B總共能夠表示256 256 256 = 16777216種顏色,剩下一B用來表示透明度,圖片是像素級的小格子組成的所以圖片也能夠用二進制組成code

總之,計算機內部一切都是由二進制組成的圖片

1.3ASCII

上世紀60年代,美國對英文字符,空格等的一系列符號與數字作了對應,一共128個,只佔用了一個字節的後7位,第一位爲0utf-8

1.4 非ASCII編碼

  1. ISO-8859-1:ISO組織在ASCII編碼的基礎上又制定了一系列的標準來擴展ASCII編碼,仍然是單字節編碼,最多表示256個字符,但已涵蓋了大多數西歐語言
  2. GB2312:雙字節編碼,包含6763個漢字
  3. GBK:國家監督技術局擴展GB2312,加入了更多的漢字,兼容GB2312,用GB2312編碼的漢字能夠用GBK來解碼

1.5 Unicode

由於存在多種編碼方式,因此若是編碼方式和解碼方式不一致的話就會出現亂碼狀況,所以要解決這個問題就要制定一個將世界上多有符號都歸入其中的編碼方式,就是Unicode,如今能夠容納一百多萬個符號,每一個符號編碼都不同,具體哪一個符號對應哪一個數字,能夠在網上進行查詢。it

Unicode只是一個符號集對應碼,也就是說他只規定了哪一個字符對應哪一個數字,並無規定對應的二進制數字如何存儲,這是由於Unicode字符存在一個問題,若是採用統一的字節長度存儲二進制數字,英文字符前面過多的0會形成浪費,所以根據二進制數字不一樣的存儲方式,能夠將Unicode分爲如下幾種基礎

Unicode只是一個字符集,而具體的編碼方案是utf-8,utf-16等,也就是說utf-8,utf-16是Unicode的實現方式亂碼

Java種u+四個十六進制字符(u轉義字符,四個十六進制字符爲對應的Unicode編碼)擴展

  1. utf-8,UTF-8 採用變長的編碼方式。它可使用1~4個字節表示一個符號,根據不一樣的符號而變化字節長度。節省了存儲空間和網絡帶寬。
  2. utf-16,採用固定的2個字節,16bit因此utf-16。
相關文章
相關標籤/搜索