做了2年前端,一直對字元編碼不夠理解,最近要做上傳,所以花了點時間把這個給了解清楚。
首先,計算機中資料儲存的最小單位是位,英文是bit,簡記為b,每個0或1就是乙個位。乙個位元組由8個位組成,比如11011100,所以乙個位元組可以表示的範圍是00000000~11111111,轉換成十進位制就是0~255。
把所有的空格、標點符號、數字、英文大小寫字母用連續的位元組來表示,從0一直編到了第127號,這個編碼方案就是」ascii」編碼,比如字母a的ascii編碼就是97.但有些國家的語言不都是英文本母,所以把127號之後的空位也用來表示字元,一直編碼到255,所以從128到255的這些字符集被稱為『擴充套件字符集』。
中國人因為沒有可以利用的位元組來表示漢字,所以定義了乙個規則,乙個小於127的字元的意義與原來相同,但兩個大於127的字元連在一起時,就表示乙個漢字。但這個規則是中國自己定義的,並不適合其他國家使用。
為了統一全世界的編碼, iso (國際標誰化組織)的國際組織廢了所有的地區性編碼方案,推出了「universal multiple-octet coded character set,即unicode,規定了必須用兩個位元組,也就是16位來統一表示所有的字元。簡單來說,就是用0-65535這些數字來對應世界上所有的字元。對於ascii裡的127位之前的字元,unicode包持其原編碼不變,只是將其長度由原 來的8位擴充套件為16位,而其他文化和語言的字元則全部重新統一編碼。由於」半形」英文符號只需要用到低8位,所以其高8位永遠是0,因此這種大氣的方案在 儲存英文文字時會多浪費一倍的空間。
為了把字元對應的數字儲存在計算機中,主要有utf-8和utf-16兩種方式。utf-16是把所有的字元對應的數字都用2個位元組來表示,缺點是英文本母明明用乙個位元組來表示就夠了,會白白多浪費一倍的空間。
於是就有了utf-8,這個8很容易誤導人,不是用乙個位元組表示乙個字元,而是用可變的位元組數來表示字元,可能乙個,也可能2個或三個,最大是3個。比如英文本元用乙個位元組表示,中午字元用2個或三個位元組來表示。
以前端角度看php ci框架的入門
純記錄。專案需要接觸了ci框架,對於路由設定和一些陣列的操作也是邊學邊做。public function index 我就可以用case index,訪問index這個模板,並且可以直接引用data 2 object array key value 類似js的 array 1 1 上面兩個型別都可以...
談談以前端的角度出發做好seo需要做什麼?
對seo優化的方法有哪些?seo search engine optimization 搜尋引擎優化,是指為了增加網頁在搜尋引擎中自然搜尋結果中的收錄數量以及提公升排序位置而做的優化行為。seo優化的方法不是一成不變的,但是仍有一些被人們公認的規律來對 進行seo優化。突出重要內容 可以讓搜尋引擎判...
從辯證的角度看產品
從辯證的角度看產品 然而,當我們用我們自身的思維角度去看待一款產品時,往往可能由於對產品接觸的時間太少,或者是使用到功能的不全面,導致我們對一款產品的認識只能達到乙個有限的程度,這往往是不可避免的。同樣的,當我們要去開發一款產品,往往可能由於對產品真正需求的不確定,或者是考慮的不夠周全,導致我們希望...