ASCII Unicode UTF-8 之間的關係

 轉載請標明:https://i.cnblogs.com/EditPosts.aspx?opt=1瀏覽器

1. ASCII服務器

  ASCII 只有127個字符,表示英文字母的大小寫、數字和一些符號,但因爲其餘語言用ASCII 編碼表示字節不夠,例如:經常使用中文須要兩個字節,且不能和ASCII衝突,中國定製了GB2312編碼格式,相同的,其餘國家的語言也有屬於本身的編碼格式編碼

2. Unicodespa

   因爲每一個國家的語言都有屬於本身的編碼格式,在多語言編輯文本中會出現亂碼,這樣Unicode應運而生,Unicode就是將這些語言統一到一套編碼格式中,一般兩個字節表示一個字符,而ASCII是一個字節表示一個字符,這樣若是你編譯的文本是全英文的,用Unicode編碼比ASCII編碼須要多一倍的存儲空間,在存儲和傳輸上就十分不划算。code

3. UTF-8blog

 爲了解決上述問題,又出現了把Unicode編碼轉化爲「可變長編碼」UTF-8編碼,UTF-8編碼將Unicode字符按數字大小編碼爲1-6個字節,英文字母被編碼成一個字節,經常使用漢字被編碼成三個字節,若是你編譯的文本是純英文的,那麼用UTF-8就會很是節省空間,而且ASCII碼也是UTF-8的一部分。圖片

4 三者之間的聯繫內存

  搞清楚了ASCII、Unicode和UTF-8的關係,咱們就能夠總結一下如今計算機系統通用的字符編碼工做方式:(1) 在計算機內存中,統一使用Unicode編碼,當須要保存到硬盤或者須要傳輸的時候,就轉換爲UTF-8編碼。(2)用記事本編輯的時候,從文件讀取的UTF-8字符被轉換爲Unicode字符內存裏,編輯完成後,保存的時候再把Unicode轉換爲UTF-8保存到文件。以下圖(截取他人圖片)get

    

    瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換爲UTF-8再傳輸到瀏覽器:it

   

相關文章
相關標籤/搜索