Unicode、UTF-8、UTF-16?編碼格式花傻傻
文章推薦指數: 80 %
它對世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。
Unicode伴隨著通用字符集的標準而發展,同時也以書本的形式對外發表。
OpenOurOprateOccupied
HeaderAds
Home
Home
/
技術
/
常識
/
規格
/
程式
/
Unicode、UTF-8、UTF-16?編碼格式花傻傻⋯⋯
Unicode、UTF-8、UTF-16?編碼格式花傻傻⋯⋯
技術,
常識,
規格,
程式
Unicode
Unicode(中文:萬國碼、國際碼、統一碼、單一碼)是電腦科學領域裡的一項業界標準。
它對世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。
Unicode伴隨著通用字符集的標準而發展,同時也以書本的形式對外發表。
Unicode至今仍在不斷增修,每個新版本都加入更多新的字元。
目前最新的版本為第六版,已收入了超過十萬個字元(第十萬個字元在2005年獲採納)。
Unicode涵蓋的資料除了視覺上的字形、編碼方法、標準的字元編碼外,還包含了字元特性,如大小寫字母。
Unicode發展由非營利機構統一碼聯盟負責,該機構致力於讓Unicode方案取代既有的字元編碼方案。
因為既有的方案往往空間非常有限,亦不適用於多語環境。
Unicode備受認可,並廣泛地應用於電腦軟體的國際化與在地化過程。
有很多新科技,如可延伸標示語言、Java程式語言以及現代的作業系統,都採用Unicode編碼。
比較常出現的問題就是Winsows記事本裡面寫的儲存格式「Unicode」其實就是「UTF-16」,不過Windows的工程師將它命名為「Unicode」,早期Windows並不支援「Unicode」,現在加入了又不想被人家發現,只好故弄玄虛的讓大家搞不懂它⋯⋯
Unicode有多種編碼方式,具體如下:
UTF-8
UTF-8(8-bitUnicodeTransformationFormat)是一種針對Unicode的可變長度字元編碼,也是一種字首碼。
它可以用來表示Unicode標準中的任何字元,且其編碼中的第一個位元組仍與ASCII相容,這使得原來處理ASCII字元的軟體無須或只須做少部份修改,即可繼續使用。
因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。
UTF-8使用一至六個位元組為每個字元編碼(儘管如此,2003年11月UTF-8被RFC3629重新規範,只能使用原來Unicode定義的區域,U+0000到U+10FFFF,也就是說最多4位元位元組):
128個US-ASCII字元只需一個位元組編碼(Unicode範圍由U+0000至U+007F)。
帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要兩個位元組編碼(Unicode範圍由U+0080至U+07FF)。
其他基本多文種平面(BMP)中的字元(這包含了大部分常用字)使用三個位元組編碼(Unicode範圍由U+0800至U+FFFF)。
其他極少使用的Unicode輔助平面的字元使用四至六位元組編碼(Unicode範圍由U+10000至U+1FFFFF使用四位元組,Unicode範圍由U+200000至U+3FFFFFF使用五位元組,Unicode範圍由U+4000000至U+7FFFFFFF使用六位元組)。
UTF-16
UTF-16是Unicode字元編碼五層次模型的第三層:字元編碼表(CharacterEncodingForm,也稱為"storageformat")的一種實作方式。
即把Unicode字符集的抽象碼位對映為16位元長的整數(即碼元)的序列,用於資料儲存或傳遞。
Unicode字元的碼位,需要1個或者2個16位元長的碼元來表示,因此這是一個變長表示。
UTF是"Unicode/UCSTransformationFormat"的首字母縮寫,即把Unicode字元轉換為某種格式之意。
UTF-16正式定義於ISO/IEC10646-1的附錄C,而RFC2781也定義了相似的做法。
Unicode的編碼空間從U+0000到U+10FFFF,共有1,112,064個碼位(codepoint)可用來對映字元.Unicode的編碼空間可以劃分為17個平面(plane),每個平面包含216(65,536)個碼位。
17個平面的碼位可表示為從U+xx0000到U+xxFFFF,其中xx表示十六進制值從0016到1016,共計17個平面。
第一個平面稱為基本多語言平面(BasicMultilingualPlane,BMP),或稱第零平面(Plane0)。
其他平面稱為輔助平面(SupplementaryPlanes)。
基本多語言平面內,從U+D800到U+DFFF之間的碼位區段是永久保留不對映到Unicode字元。
UTF-16就利用保留下來的0xD800-0xDFFF區段的碼位來對輔助平面的字元的碼位進行編碼。
從U+0000至U+D7FF以及從U+E000至U+FFFF的碼位
第一個Unicode平面(碼位從U+0000至U+FFFF)包含了最常用的字元。
該平面被稱為基本多語言平面,縮寫為BMP(BasicMultilingualPlane,BMP)。
UTF-16與UCS-2編碼這個範圍內的碼位為16位元長的單個碼元,數值等價於對應的碼位.BMP中的這些碼位是僅有的可以在UCS-2中表示的碼位.
從U+10000到U+10FFFF的碼位
輔助平面(SupplementaryPlanes)中的碼位,在UTF-16中被編碼為一對16位元長的碼元(即32bit,4Bytes),稱作代理對(surrogatepair),具體方法是:
碼位減去0x10000,得到的值的範圍為20位元長的0..0xFFFFF.
高位的10位元的值(值的範圍為0..0x3FF)被加上0xD800得到第一個碼元或稱作高位代理(highsurrogate),值的範圍是0xD800..0xDBFF.由於高位代理比低位代理的值要小,所以為了避免混淆使用,Unicode標準現在稱高位代理為前導代理(leadsurrogates).
低位的10位元的值(值的範圍也是0..0x3FF)被加上0xDC00得到第二個碼元或稱作低位代理(lowsurrogate),現在值的範圍是0xDC00..0xDFFF.由於低位代理比高位代理的值要大,所以為了避免混淆使用,Unicode標準現在稱低位代理為後尾代理(trailsurrogates).
UTF-32
UTF-32(或UCS-4)是一種將Unicode字元編碼的協定,對每一個Unicode碼位使用恰好32位元。
其它的Unicodetransformationformats則使用不定長度編碼。
因為UTF-32對每個字元都使用4位元組,就空間而言,是非常沒有效率的。
特別地,非基本多文種平面的字元在大部分檔案中通常很罕見,以致於它們通常被認為不存在佔用空間大小的討論,使得UTF-32通常會是其它編碼的二到四倍。
雖然每一個碼位使用固定長度的位元組看似方便,它並不如其它Unicode編碼使用得廣泛。
與UTF-8及UTF-16相比,它有點更容易遭截斷。
即使使用了"定寬"字型,除非在一些非常有限的情況下,否則它並不會使得計算顯示一個字串的寬度更加容易。
主要原因是,存在著一個字元位置會有多於一種可能的碼點(結合字元)或一個碼點用多於一個字元位置(如CJK表意字元)。
結合符號也意味著,文書編輯者不能將一個碼點視同一個編輯上的單位。
原本ISO10646標準定義了一個32位元的編碼形式,稱作UCS-4,使用通用字符集(UCS)的每一個字元,會在0到十六進制的7FFFFFFF這樣的字碼空間中,被表示成一個的32位元的碼值。
UCS-4足以用來表示所有的Unicode的字碼空間,其最大的碼位為十六進制的7FFFFFFF,所以其空間約20億個碼位。
有些人認為保留如此大的字碼空間卻只為了對應這很小的碼集是浪費的所以一個新的編碼UTF-32被提出來了。
UTF-32是一個UCS-4的子集,使用32-位元的碼值,只在0到10FFFF的字碼空間(百萬個碼位)。
UTF-32原本是UCS-4的子集,但JTC1/SC2/WG2聲明,所有未來對字元的指定都將會限制在BMP及其14個補充平面。
於是就現狀而言,除了UTF-32標準包含額外的Unicode意涵,UCS-4和UTF-32大體是相同的。
註記:以上資料來自維基百科。
SHARETHIS
Shareit
Tweet
Shareit
Shareit
Pinit
RelatedPosts
程式
PostaComment
沒有留言
訂閱:
張貼留言
(
Atom
)
FollowUs
RandomPosts
Facebook
PopularPosts
清潔冷氣室內機Panasoinc篇
iOSDeveloperProgramRolesOverview的說明
關於AppleCareProtectionPlan
Unicode、UTF-8、UTF-16?編碼格式花傻傻⋯⋯
乾淨又完整的移除MicroSoftOffice2016forMac的方法
INDESIGN技巧:資料合併
關於Indesign裡面「資料合併」的文件編碼「Unicode」的正身⋯⋯
MacOSX啟動鍵組合(IntelMac)
SKTSmartBeamIC200T開箱使用心得
QuarkXPress何去何從
Sponsor
Categories
技術
規格
程式
Apple
專業
常識
排版
系統
開發
3C
居家
數位出版
記憶卡
Adobe
EPUB
Office
疑難
相機
軟體
App
DIY
DokuWiki
INDESIGN
Joomla
Mac
Micorsoft
iOS
冷氣
手冊
投影機
新聞
詩詞
開箱
電子書
面板
BlogArchive
►
2017
(2)
►
3月
(2)
►
2015
(11)
►
8月
(1)
►
6月
(1)
►
5月
(3)
►
3月
(2)
►
1月
(4)
▼
2014
(14)
►
12月
(1)
►
5月
(3)
►
4月
(2)
▼
3月
(4)
關於Indesign裡面「資料合併」的文件編碼「Unicode」的正身⋯⋯
Unicode、UTF-8、UTF-16?編碼格式花傻傻⋯⋯
QuarkXPress何去何從
OSX鍵盤快速鍵
►
2月
(4)
►
2013
(2)
►
6月
(1)
►
2月
(1)
►
2011
(4)
►
9月
(2)
►
8月
(2)
►
2010
(3)
►
8月
(3)
►
2009
(1)
►
8月
(1)
Comments
技術提供:Blogger.
RandomPosts
RecentPosts
PopularPosts
清潔冷氣室內機Panasoinc篇
序言話說夏天已經悄悄的到來,在前幾天風和日麗的天氣,想說把冷氣運轉一下準備迎接今年的夏天,啟動電源開關之後一陣噁心的霉味傳來,我不知道我自己是不是有什麼潔癖,但是那味道讓我忍無可忍,只好趁著週末假期來動手清洗分離式冷氣的室內機。
首先我要說明這不是我第一次拆洗室...
iOSDeveloperProgramRolesOverview的說明
Apple DeveloperMember管理真是一大門學問,光是要弄懂彼此之間的關係就不是很容易了~如果是大型企業然後還有委託外面的廠商開發,那帳號真是一筆糊塗帳。
有鑒於最近在開發AppleApp上面有一些角色上的建立認知,筆者除了為了方便自己檢視與比對各項權限之外...
關於AppleCareProtectionPlan
Apple電腦保固之後的維修費用⋯⋯夭壽。
所以官方有一種「AppleCareProtectionPlan」服務可以讓你把原來一年的保固延長到三年,它就像是「Apple電腦的保險服務」。
如果你的Mac過了保固之後又剛好壞掉,維修費用就有點恐怖,這下面這張表代表各機種的...
Unicode、UTF-8、UTF-16?編碼格式花傻傻⋯⋯
UnicodeUnicode(中文:萬國碼、國際碼、統一碼、單一碼)是電腦科學領域裡的一項業界標準。
它對世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。
Unicode伴隨著通用字符集的標準而發展,同時也以書本的形式對外發表。
Uni...
INDESIGN技巧:資料合併
AdobeIndesign的排版功能強大眾所皆知,但是假如想要將量化的資料塞到固定的版面做快速排版呢?例如:公司名片(同時要排很多人)、每一張都要有「流水號」的兌獎聯、大量郵寄名單、大量且相同版型的賀卡(但是內容要各別不同)、大量的喜帖⋯。
像這麼重複性的工作,在...
關於Indesign裡面「資料合併」的文件編碼「Unicode」的正身⋯⋯
資料合併IndesignCS5之後的版本裡面多了一個叫做資料合併的功能,這功能非常的神奇,可以在同一個文件裡面一次處理多個相同排版需求的批次格式,而且來源檔案也是很簡單的格式「csv」。
透過資料表的對應即可在短時間內排出「畢業證書」或是「名片」、「邀請卡」、「喜帖」、「...
常見公制英制單位換算
英制單位是一種源自英國的度量衡單位制。
長度名稱中,為了與公制或中國傳統單位區別,多在單位前加一「英」字,或冠以口字旁稱之,如:英里(英哩)、英尺(英呎)、英寸(英吋),或簡稱哩、呎、吋。
由於十進制的公制單位使用方便,多為各國採行,英國自1965年起立例轉換成國際單位制,並於...
寒天不等於洋菜?
我很少談這種類似的話題,只是看到有商人PO「寒天絕對不是洋菜」這種鬼話,忍不住就會想要印證一下!唉~我國民眾不僅喜歡聽一些騙人的把戲,不願意去求證才是最大問題...無論是以龍鬚菜、石花菜、或鹿角菜製成的,通通稱作「寒天」,在日本藻類文獻、教科書,還有日本人的稱呼中,也都這麼...
SKTSmartBeamIC200T開箱使用心得
從外包裝可以看到一個正方形的不明物,猜猜看是什麼?其實我很少做開箱文,這次開箱文純粹是自己真的想要分享一下好東西,首先我要感謝韓國INNOIO公司的熱心服務,讓我這次的分享得以順利的進行,少了一條線材寫信就隔天從大陸分公司出一條線給我了,這樣的廠商服務真的很不錯,讓我這個「...
QuarkXPress何去何從
DTP為桌面排版系統(DeskTopPublishing)的簡稱,QuarkXPress想要捲土重來?美國私募股權投資公司白金權益公司(PlatinumEquity)於2011年8月10日宣佈,收購了知名的Quark排版軟體公司。
而QuarkXPress(QXP)排版...
CreatedByThemeXpose|DistributedByGooyaabiTemplates
延伸文章資訊
- 1Unicode、UTF-8、UTF-16,終於懂了 - 閱坊
Unicode 字符集的編碼範圍是 0x0000 - 0x10FFFF , 可以容納一百多萬個字符, 每個字符 ... 下表是Unicode 編碼對應UTF-8 需要的字節數量以及編碼格式.
- 2Unicode - 维基百科,自由的百科全书
Unicode,統一碼聯盟官方中文名称为統一碼,是信息技术領域的業界標準。它整理、編碼了世界上大部分的文字系統,使得電腦可以用更為簡單的方式來呈現和處理文字。
- 3Unicode编码转换 - 站长工具
本工具是Unicode编码转换,为您提供ASCII与Unicode互转,Unicode与中文互转,在文本框里输入要转换的内容,然后点击要转换的类型按钮,转换完成后即可看到对应的内容。
- 4Unicode 概述(國際語言環境指南)
「Unicode 標準」係用來表示電腦處理文字的通用字元編碼標準。它與國際標準ISO/IEC ... UTF-8 是一種可變長度的Unicode 編碼格式,能有效地保存ASCII 字元編碼值。
- 5Unicode 編碼說明 - iT 邦幫忙
所以就出現了所謂的Unicode 這個編碼, 收納了好幾百萬個全世界的文字符號. ... 而如果電腦直接原封不動儲存Unicode 原始格式編碼(UTF-32), 就會佔用太多不必要的空間.