日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
詳解Unicode和UTF-8編碼

本文通過介紹Unicode編碼以及對應的兩種編碼方式UTF-8和UTF-16,讓讀者能夠了解關于字符串編碼的相關知識,同時能夠弄清楚Unicode和UTF-8和UTF-16之間的關系。

新洲網站建設公司創(chuàng)新互聯(lián)建站,新洲網站設計制作,有大型網站制作公司豐富經驗。已為新洲數(shù)千家提供企業(yè)網站建設服務。企業(yè)網站搭建\成都外貿網站建設公司要多少錢,請找那個售后服務好的新洲做網站的公司定做!

ASCII 碼

什么是 ASCII 碼?

ASCII 碼(American Standard Code for Information Interchange)稱為美國標準信息交換碼。它是基于拉丁字母的一套電腦編碼系統(tǒng)。它定義了一個用于代表常見字符的字典。

ASCII 碼都包含哪些字符?

包括 “A-Z”(大小寫都包含),數(shù)據(jù)”0-9” 以及一些常見的符號。

ASCII 碼的局限在哪里?

ASCII 當初只是為美國英語而設計的,只能顯示 128 個編碼,對其他的語言無能為力。要想顯示其他語言的編碼,還是要使用 unicode。

Unicode

什么是 Unicode ?

為了將全世界的文字都統(tǒng)一的記錄下來,并將每個字符都用唯一的數(shù)字記錄下來,于是就產生了Unicode。

Unicode 也稱為 UCS(Universal Coded Character Set:國際編碼字符集合) 是一個字符集合,對世界上大部分的文字系統(tǒng)進行了整理,編碼,使電腦可以用更為簡單的方式來呈現(xiàn)和處理文字。最新的版本 Unicode 11.0 已經包含了 137439 個字符。

Unicode 的數(shù)量之多,如果完全涵蓋它, 需要用 4 個字節(jié)來表示,但是計算機存儲過程中卻不是必須都用 4 個字節(jié)來完成。對于有些字符,尤其是編碼在前面的字符我們也可以通過 1 個或 兩個字節(jié)來節(jié)省空間。這就涉及到了 unicode 的實現(xiàn)方式。

Unicode 的實現(xiàn)方式有幾種?

Unicode 只是一個字符集合,每個字符用一個數(shù)字來表示,但是這些數(shù)字在計算機內采用什么方式來存儲,是全部都是 4 個字節(jié),還是 1 到 4 個字節(jié)不等,這就涉及到了字符編碼的概念。

我們說 Unicode 有幾種實現(xiàn)方式,也就是在問 Unicode 有幾種編碼方式?

Unicode 常用的編碼方式有 UTF-8, UCS-2, UTF-16 三種,另外還有一種 UTF-32 雖然不太常用也需要提一下。

Unicode 的體系結構是什么樣的?

Unicode 既然能夠存儲那么多的字符,肯定是有它的存儲規(guī)則的,如果使用 16 進制存儲,它的存儲范圍是多少到多少,是否都是直筒式的,從低到高排就可以了?也就是說 Unicode 的體系結構是怎么樣的。

Unicode 當前定義其字符的存儲范圍是: 0hex 到 10FFFFhex ,共分為 17 個區(qū)段,可以存儲 1,114,112 個字符,這對當前 (137439) 來說遠遠足夠了。

其中區(qū)段為 0hex 到 FFFFhex 稱為 基本多文種平面 BMP (Basic Multilingual Plane),在這個平面中的字符表現(xiàn)形式是 U+ 后面跟 16 進制數(shù)。例如 X 字符的 unicode 是 U+0058。

而超出 BMP 范圍的,也就是 10000hex–10FFFFhex 這 16 個區(qū)段,需要用到 5 到 6 位來表示,如 U+E0001 和 U+10FFFD。

UTF-8 編碼

UTF-8 是使用互聯(lián)網上使用最廣泛的 unicode 編碼方式,目前已經占有整個互聯(lián)網 92% 的份額。這里再強調下 UTF-8 只是 Unicode 的一種實現(xiàn)方式,UTF-8 是編碼方式,而 Unicode 是字符集合

它是可變長的編碼方式,長度從 1 個字節(jié)到 4 個字節(jié)不等。

它能夠完全兼容 ASCII 碼,我們知道 ASCII 碼 是由 128 個字符組成的,而 Unicode 中的前 128 個字符和 ASCII 碼都是一一對應的。

UCS-2 編碼

UCS-2 只使用了兩個字節(jié)(16 bit) 來表示字符,也就是說只能表示 65536 個字符,它只能表示 BMP 中的字符。

當前的 unicode 字符數(shù)量已遠遠超過了 UCS-2 的數(shù)量,因此 UCS-2 雖然還在被好多軟件使用,但它已經過期了。

正因為 UCS-2 編碼依然被許多軟件使用,為了能夠表示出 BMP 以外的平面內的字符,就產生了一種新的編碼 UTF-16 編碼。

UTF-16 編碼

UTF-16 就是為了解決 UCS-2 編碼的問題而生的,它擴展自 UCS-2

基本多文種平面中,與 UCS-2 編碼完全一致,使用兩個字節(jié)表示

U+010000 到 U+10FFFF 范圍 使用 4 個字節(jié)表示

UTF-16 編碼的市場份額和 UTF-8 比很小, 在web 頁面中只占 0.01% 。而且主要在 windows 系統(tǒng)中使用, Unix/Linux 以及 MacOS 中很少使用。

UTF-32 編碼

UTF-32 對 Unicode 中的每個字符都用 4 個字節(jié)來表示,占用的空間比其他編碼要多的多,也正是這個原因,人們才用的很少。

小結

既然看到了這里,您一定對 unicode 有了一些認識吧,請再來回顧下 Unicode 的思維導圖,加深下理解。

帶你了解 Unicode和UTF-8編碼知識帶你了解 Unicode和UTF-8編碼知識

下面來總結下重點:

ASCII 碼只能表示 128 個字符,只是針對美國英語而設計的, 為了表示其他語言的字符,于是就有了 Unicode

Unicode 只是一個字符集,里面收集了全世界絕大部分語言的字符。它有多種實現(xiàn)方式(編碼方式),最常用的就是 UTF-8

UTF-8 編碼是變長字節(jié)的,1 到 4 個字節(jié)不等,并且它能夠完全兼容 ASCII 碼


分享文章:詳解Unicode和UTF-8編碼
網頁路徑:http://www.dlmjj.cn/article/djchpee.html