java代碼點(diǎn) java代碼點(diǎn)擊變藍(lán)按鈕

Java中代碼點(diǎn)和代碼單元是什么?怎么理解?舉例說(shuō)明下,它們之間有什么聯(lián)系有什么區(qū)別?為什么代碼點(diǎn)

代碼點(diǎn)就是指javascript型的信息點(diǎn)而代碼單元指普遍的廣泛的jinmk 和gdp信息技術(shù)網(wǎng)

創(chuàng)新互聯(lián)專注于孝南企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站建設(shè)。孝南網(wǎng)站建設(shè)公司,為孝南等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

Java中碼點(diǎn)是什么意思?

碼點(diǎn)是指一個(gè)編碼表中的某個(gè)字符對(duì)應(yīng)的代碼值。Unicode的碼點(diǎn)分為17個(gè)代碼級(jí)別,第一個(gè)級(jí)別是基本的多語(yǔ)言級(jí)別,碼點(diǎn)從U+0000——U+FFFF,其余的16個(gè)級(jí)別從U+10000——U+10FFFF,其中包括一些輔助字符。

關(guān)于Java核心技術(shù)書(shū)中的代碼點(diǎn)和代碼單元是怎么理解的呢?

代碼單元”是各個(gè)編碼形式中的單個(gè)單元。代碼單元的大小等效于特定編碼的位數(shù)測(cè)量單位:

UTF-8 中的代碼單元由 8 位組成。

UTF-16 中的代碼單元由 16 位組成。

UTF-32 中的代碼單元由 32 位組成。

GB18030 中的代碼單元由 8 位組成。

每個(gè)代碼點(diǎn)中的代碼單元數(shù)

映射到代碼點(diǎn)所需的代碼單元數(shù)根據(jù)編碼形式而有所不同:

UTF-8

在 UTF-8 中,因?yàn)榇a單元較小的緣故,每個(gè)代碼點(diǎn)常常被映射到多個(gè)代碼單元。代碼點(diǎn)將被映射到一個(gè)、兩個(gè)、三個(gè)或四個(gè)代碼單元。

UTF-16

UTF-16 的代碼單元大小是 8 位代碼單元的兩倍。所以,標(biāo)量值小于 U+10000 的代碼點(diǎn)被編碼到單個(gè)代碼單元中。

對(duì)于標(biāo)量值大于或等于 U+10000 的代碼點(diǎn),每個(gè)代碼點(diǎn)需要兩個(gè)代碼單元。在 UTF-16 中,這些代碼單元對(duì)有一個(gè)獨(dú)特的術(shù)語(yǔ):“Unicode 代理對(duì)”。

java什么是代碼點(diǎn)和代碼單元

說(shuō)白了一個(gè)代碼點(diǎn)就是一個(gè)Unicode字符。代碼單元就是代碼點(diǎn)的集合。

字符視圖

要了解字符集標(biāo)準(zhǔn),您必須能區(qū)分三種不同的字符視圖:

字符集(字符的抽象列表)。

作為帶標(biāo)量值的“代碼點(diǎn)”的字符。

作為編碼數(shù)據(jù)的字符。

字符集(字符的抽象列表)

字符集是各種文字(包括拉丁文、西里爾文、中文、朝鮮語(yǔ)、日語(yǔ)、希伯來(lái)語(yǔ)和阿拉伯語(yǔ))中所包含的字符的一個(gè)抽象列表,由一百多萬(wàn)個(gè)字符組成。字符集還包括其他符號(hào),例如音符。

Unicode 和 GB18030 標(biāo)準(zhǔn)都具有字符集。當(dāng)某個(gè)標(biāo)準(zhǔn)添加了新字符時(shí),為了保持對(duì)等,另一個(gè)標(biāo)準(zhǔn)也將添加這些字符。

作為帶標(biāo)量值的“代碼點(diǎn)”的字符

注意 這第二個(gè)字符視圖只適用于 Unicode,而不適用于 GB18030。

字符集中的每個(gè)字符都被分配到一個(gè)“代碼點(diǎn)”。每個(gè)代碼點(diǎn)都有一個(gè)特定的數(shù)值,稱為標(biāo)量值。該標(biāo)量值通常用十六進(jìn)制表示。

代碼點(diǎn)存在于“代碼空間”中。代碼空間由許多標(biāo)量值組成,這些值被劃分在兩個(gè)平面中:

基本多語(yǔ)種平面(64k 大?。?/p>

在 Unicode 中,此下平面中的值的十六進(jìn)制表示位于 U+0000 到 U+FFFF 的范圍中。

輔助多語(yǔ)種平面(16 個(gè) 64k 大小的附加節(jié))。

在 Unicode 中,此上平面中的值的十六進(jìn)制表示位于 U+10000 到 U+10FFFF 的范圍中。

所有可能的標(biāo)量值的完整代碼空間的大小為 17 * 64k(1,088,000 個(gè)可能值)。

作為編碼數(shù)據(jù)的字符

每個(gè)編碼形式將字符從字符集轉(zhuǎn)換為編碼數(shù)據(jù)。

在 GB18030 中,編碼數(shù)據(jù)直接從字符集派生:標(biāo)量值(作為字符集和編碼數(shù)據(jù)之間的媒介)的概念只適用于 Unicode。

在 Unicode 中,通過(guò)向標(biāo)量值應(yīng)用某個(gè)算法來(lái)派生編碼數(shù)據(jù)。

Unicode 定義了三種字符編碼形式:

UTF-8

UTF-16

UTF-32

代碼點(diǎn)和代碼單元

在每種編碼形式中,代碼點(diǎn)被映射到一個(gè)或多個(gè)代碼單元。

注意 有關(guān)代碼點(diǎn)的概述,請(qǐng)參見(jiàn)上一節(jié)字符視圖。

“代碼單元”是各個(gè)編碼形式中的單個(gè)單元。代碼單元的大小等效于特定編碼的位數(shù)測(cè)量單位:

UTF-8 中的代碼單元由 8 位組成。

UTF-16 中的代碼單元由 16 位組成。

UTF-32 中的代碼單元由 32 位組成。

GB18030 中的代碼單元由 8 位組成。

每個(gè)代碼點(diǎn)中的代碼單元數(shù)

映射到代碼點(diǎn)所需的代碼單元數(shù)根據(jù)編碼形式而有所不同:

UTF-8

在 UTF-8 中,因?yàn)榇a單元較小的緣故,每個(gè)代碼點(diǎn)常常被映射到多個(gè)代碼單元。代碼點(diǎn)將被映射到一個(gè)、兩個(gè)、三個(gè)或四個(gè)代碼單元。

UTF-16

UTF-16 的代碼單元大小是 8 位代碼單元的兩倍。所以,標(biāo)量值小于 U+10000 的代碼點(diǎn)被編碼到單個(gè)代碼單元中。

對(duì)于標(biāo)量值大于或等于 U+10000 的代碼點(diǎn),每個(gè)代碼點(diǎn)需要兩個(gè)代碼單元。在 UTF-16 中,這些代碼單元對(duì)有一個(gè)獨(dú)特的術(shù)語(yǔ):“Unicode 代理對(duì)”。

注意 下面對(duì) Unicode 代理對(duì)的支持進(jìn)行了討論。

UTF-32

UTF-32 中使用的 32 位代碼單元足夠大,每個(gè)代碼點(diǎn)都可編碼為單個(gè)代碼單元。

GB18030

在 GB18030 中,因?yàn)榇a單元較小的緣故,每個(gè)代碼點(diǎn)常常被映射到多個(gè)代碼單元。代碼點(diǎn)將被映射到一個(gè)、兩個(gè)或四個(gè)代碼單元。

對(duì) Unicode 代理對(duì)的支持

某些受 Unicode 支持的文字包含代碼點(diǎn)的標(biāo)量值大于或等于 U+10000 的字符。在 UTF-16 中,通過(guò)使用代理對(duì)來(lái)對(duì)這些代碼點(diǎn)進(jìn)行編碼。

正確處理 Unicode 代理對(duì)非常重要。例如,當(dāng)您在使用 UTF-16 編碼的應(yīng)用程序中處理文本時(shí),如果要添加、刪除或選擇字符以進(jìn)行剪切、復(fù)制或粘貼操作,文本光標(biāo)必須將每個(gè)代碼點(diǎn)作為單個(gè)文本字符導(dǎo)航。

當(dāng)前名稱:java代碼點(diǎn) java代碼點(diǎn)擊變藍(lán)按鈕
URL分享:http://muchs.cn/article8/doshcip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、企業(yè)建站網(wǎng)站策劃、網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)