常見字符集

1. 常見字符集

計算機內部所有的信息最終都是一個二進制的值,不管是文本信息或者是圖像等的其他信息

1.1 文字

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

1.2 圖像

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

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

1.3ASCII

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

1.4 非ASCII編碼

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

1.5 Unicode

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

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