階段1:
計算機只認識數字,我們在計算機裡一切資料都是以數字來表示,因為英文符號有限
所以在規定使用的位元組的最高位是0,每乙個位元組都是以0~127之間的數字來表示,比如a對應65,a對應97。
這就是美國標準資訊交換碼-ascll。
階段2:
隨著計算機在全球的普及,很多國家和地區都把自己的字元引入了計算機,比如漢字。
此時發現乙個位元組能表示數字範圍太小,不能包含所有的中文漢字,那麼就規定使用兩個位元組來表示乙個漢字。
規定:原有的ascll字元的編碼保持不變仍然使用乙個位元組表示,為了區別乙個中文字元與兩個ascll碼字元相區別。
中文字元的每個位元組最高規定為1,這個規範就是gb2312編碼,
後來在gb2312的基礎上增加了更多的中文字元,比如漢字,也就出現了gbk。
新的問題,在中國是認識漢字的,但是如果把漢字傳遞給其他國家,該國家的碼表中沒有收錄漢字,其實就顯示了另乙個符號或者亂碼。
為了解決各個國家因為本地化字元編碼帶來的影響,咱們就把全世界所有的符號統一進行編碼-unicode編碼。
此時某乙個字元在全世界任何地方都是固定的,比如哥,在任務地方都是以十六進製制的54e5來表示。
unicode的編碼字元都占有2個位元組大小。
常見的字符集:
ascll:佔乙個位元組,只能包含128個符號,不能表示漢字
iso-8859-1:(latin-1):佔乙個位元組,收錄西歐語言,不能表示漢字,
ansi:佔兩個位元組,在簡體中文的作業系統中ansi就指的是gb2312。
gb2312/gbk/gb18030:佔兩個位元組,支援中文。
utf-8:utf-8(8-bit unicode transformation format)是一種針對unicode的可變長度字元編碼,又稱萬國碼。由ken thompson於2023年建立。現在已經標準化為rfc 3629。 utf-8用1到6個位元組編碼unicode字元。用在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
字元編碼的發展
1 字元碼的出現 我們都知道,計算機只能處理數字,即0和1,如果要處理文字,就必須先把文字轉換為數字才能處理。最早的計算機在設計時採用8個位元 bit 作為乙個位元組 byte 所以,乙個位元組能表示的最大的整數就是255 二進位制11111111 十進位制255 如果要表示更大的整數,就必須用更多...
MySQL的發展歷程
mysql名字由來 其實mysql最初的出發點是用msql和他們自己的快速低階例程 isam 去連線 不管怎樣,在經過一些測試後,開發者得出結論 msql的速度或靈活性不足以滿足要求。這導致了為資料庫提供了新的sql介面,這樣,這個api被設計成允許為用於msql而寫的第三方 更容易移植到mysql...
容器的發展歷程
本來想直接寫docker知識點的,但是感覺只有了解containers的發展歷程,才能知道技術知識點的來龍去脈,建立起乙個線性的鏈條,把知識點串聯起來。1979 unix v7 在1979年開發unix v7期間,引入了chroot系統呼叫功能。這個功能將程序及其子程序的根目錄更改為檔案系統中的乙個...