以下的例子有四個字元:「朱」(U+6731)、半形逗號(U+002C)、「聿」(U+807F)、「𪚥」(U+2A6A5)。
使用UTF-16編碼的例子. 編碼名稱, 編碼次序, 編碼. BOM, 朱, ,, 聿 ...
UTF-16
維基百科,自由的百科全書
跳至導覽
跳至搜尋
注意:本頁面含有Unihan新版漢字:「𪚥、𤭢」。
有關字元可能會錯誤顯示,詳見Unicode擴充漢字。
本頁面包含特殊字元,部分作業系統及瀏覽器需要特殊字母與符號支援才能正確顯示,否則可能出現亂碼、問號、空格等其它符號。
UTF-16是Unicode字元編碼五層次模型的第三層:字元編碼表(CharacterEncodingForm,也稱為"storageformat")的一種實現方式。
即把Unicode字元集的抽象碼位對映為16位元長的整數(即碼元)的序列,用於資料儲存或傳遞。
Unicode字元的碼位,需要1個或者2個16位元長的碼元來表示,因此這是一個變長表示。
UTF是"Unicode/UCSTransformationFormat"的首字母縮寫,即把Unicode字元轉換為某種格式之意。
UTF-16正式定義於ISO/IEC10646-1的附錄C,而RFC2781也定義了相似的做法。
目次
1UTF-16描述
1.1從U+0000至U+D7FF以及從U+E000至U+FFFF的碼位
1.2從U+10000到U+10FFFF的碼位
1.3從U+D800到U+DFFF的碼位
1.4範例:
1.5範例:UTF-16編碼程序
2UTF-16的編碼模式
3UTF-16與UCS-2的關係
3.1MicrosoftWindows作業系統內核對Unicode的支持
4參考文獻
5外部連結
UTF-16描述[編輯]
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位元長的碼元(即32位元,4位元組),稱作代理對(SurrogatePair),具體方法是:
UTF-16解碼
lead\trail
DC00
DC01
…
DFFF
D800
10000
10001
…
103FF
D801
10400
10401
…
107FF
⋮
⋮
⋮
⋱
⋮
DBFF
10FC00
10FC01
…
10FFFF
碼位減去0x10000,得到的值的範圍為20位元長的0...0xFFFFF。
高位的10位元的值(值的範圍為0...0x3FF)被加上0xD800得到第一個碼元或稱作高位代理(highsurrogate),值的範圍是0xD800...0xDBFF。
由於高位代理比低位代理的值要小,所以為了避免混淆使用,Unicode標準現在稱高位代理為前導代理(leadsurrogates)。
低位的10位元的值(值的範圍也是0...0x3FF)被加上0xDC00得到第二個碼元或稱作低位代理(lowsurrogate),現在值的範圍是0xDC00...0xDFFF。
由於低位代理比高位代理的值要大,所以為了避免混淆使用,Unicode標準現在稱低位代理為後尾代理(trailsurrogates)。
上述演算法可理解為:輔助平面中的碼位從U+10000到U+10FFFF,共計FFFFF個,即220=1,048,576個,需要20位來表示。
如果用兩個16位元長的整陣列成的序列來表示,第一個整數(稱為前導代理)要容納上述20位的前10位,第二個整數(稱為後尾代理)容納上述20位的後10位。
還要能根據16位元整數的值直接判明屬於前導整數代理的值的範圍(210=1024),還是後尾整數代理的值的範圍(也是210=1024)。
因此,需要在基本多語言平面中保留不對應於Unicode字元的2048個碼位,就足以容納前導代理與後尾代理所需要的編碼空間。
這對於基本多語言平面總計65536個碼位來說,僅占3.125%。
由於前導代理、後尾代理、BMP中的有效字元的碼位,三者互不重疊,搜尋是簡單的:一個字元編碼的一部分不可能與另一個字元編碼的不同部分相重疊。
這意味著UTF-16是自同步(self-synchronizing)的:可以通過僅檢查一個碼元來判定給定字元的下一個字元的起始碼元。
UTF-8也有類似優點,但許多早期的編碼模式就不是這樣,必須從頭開始分析文字才能確定不同字元的碼元的邊界。
由於最常有的字元都在基本多文種平面中,許多軟體處理代理對的部分往往得不到充分的測試。
這導致了一些長期的bug與潛在安全漏洞,它們甚至存在於廣為流行且評價頗高的應用軟體中[1]。
從U+D800到U+DFFF的碼位[編輯]
Unicode標準規定U+D800...U+DFFF的值不對應於任何字元。
但是在使用UCS-2的時代,U+D800...U+DFFF內的值被占用,用於某些字元的對映。
但只要不構成代理對,許多UTF-16編碼解碼還是能把這些不符合Unicode標準的字元對映正確的辨識、轉換成合規的碼元[2]。
按照Unicode標準,這種碼元序列本來應算作編碼錯誤。
範例:[編輯]
以U+10437編碼(𐐷)為例:
0x10437減去0x10000,結果為0x00437,二進位為00000000010000110111
分割它的上10位值和下10位值(使用二進位):0000000001和0000110111
添加0xD800到上值,以形成高位:0xD800+0x0001=0xD801
添加0xDC00到下值,以形成低位:0xDC00+0x0037=0xDC37
下表總結了一起範例的轉換過程,顏色指示碼點位如何分布在所述的UTF-16中。
由UTF-16編碼過程中加入附加位的以黑色顯示。
字元
普通二進位
UTF-16二進位
UTF-16十六進位字元代碼
UTF-16BE十六進位位元組
UTF-16LE十六進位位元組
$
U+0024
0000000000100100
0000000000100100
0024
0024
2400
€
U+20AC
0010000010101100
0010000010101100
20AC
20AC
AC20
𐐷
U+10437
00010000010000110111
11011000000000011101110000110111
D801DC37
D801DC37
01D837DC
𤭢
U+24B62
00100100101101100010
11011000010100101101111101100010
D852DF62
D852DF62
52D862DF
範例:UTF-16編碼程式[編輯]
假設要將U+64321(16進位)轉成UTF-16編碼。
因為它超過U+FFFF,所以他必須編譯成32位元(4個byte)的格式,如下所示:
V=0x64321
Vx=V-0x10000
=0x54321
=01010100001100100001
Vh=0101010000//Vx的高位部份的10bits
Vl=1100100001//Vx的低位部份的10bits
w1=0xD800//結果的前16位元初始值
w2=0xDC00//結果的後16位元初始值
w1=w1|Vh
=1101100000000000
|0101010000
=1101100101010000
=0xD950
w2=w2|Vl
=1101110000000000
|1100100001
=1101111100100001
=0xDF21
所以這個字U+64321最後正確的UTF-16編碼應該是:
0xD9500xDF21
而在小尾序中最後的編碼應該是:
0x50D90x21DF
因為這個字超過U+FFFF所以無法用UCS-2的格式編碼。
16進制編碼範圍
UTF-16表示方法(二進制)
10進制碼範圍
位元組數量
U+0000-U+FFFF
xxxxxxxxxxxxxxxx-yyyyyyyyyyyyyyyy
0-65535
2
U+10000-U+10FFFF
110110yyyyyyyyyy-110111xxxxxxxxxx
65536-1114111
4
UTF-16比起UTF-8,好處在於大部分字元都以固定長度的位元組(2位元組)儲存,但UTF-16卻無法相容於ASCII編碼。
UTF-16的編碼模式[編輯]
UTF-16的大尾序和小尾序儲存形式都在用。
一般來說,以Macintosh製作或儲存的文字使用大尾序格式,以Microsoft或Linux製作或儲存的文字使用小尾序格式。
為了弄清楚UTF-16檔案的大小尾序,在UTF-16檔案的開首,都會放置一個U+FEFF字元作為ByteOrderMark(UTF-16LE以FFFE代表,UTF-16BE以FEFF代表),以顯示這個文字檔案是以UTF-16編碼,其中U+FEFF字元在UNICODE中代表的意義是ZEROWIDTHNO-BREAKSPACE,顧名思義,它是個沒有寬度也沒有斷字的空白。
以下的例子有四個字元:「朱」(U+6731)、半形逗號(U+002C)、「聿」(U+807F)、「𪚥」(U+2A6A5)。
使用UTF-16編碼的例子
編碼名稱
編碼次序
編碼
BOM
朱
,
聿
𪚥
UTF-16LE
小尾序,不含BOM
3167
2C00
7F80
69D8A5DE
UTF-16BE
大尾序,不含BOM
6731
002C
807F
D869DEA5
UTF-16LE
小尾序,包含BOM
FFFE
3167
2C00
7F80
69D8A5DE
UTF-16BE
大尾序,包含BOM
FEFF
6731
002C
807F
D869DEA5
UTF-16與UCS-2的關係[編輯]
UTF-16可看成是UCS-2的父集。
在沒有輔助平面字元(surrogatecodepoints)前,UTF-16與UCS-2所指的是同一的意思。
但當引入輔助平面字元後,就稱為UTF-16了。
現在若有軟體聲稱自己支援UCS-2編碼,那其實是暗指它不能支援在UTF-16中超過2位元組的字集。
對於小於0x10000的UCS碼,UTF-16編碼就等於UCS碼。
MicrosoftWindows作業系統核心對Unicode的支援[編輯]
Windows作業系統核心中的字元表示為UTF-16小尾序,可以正確處理、顯示以4位元組儲存的字元。
但是WindowsAPI實際上僅能正確處理UCS-2字元,即僅以2位元組儲存的,碼位小於U+FFFF的Unicode字元。
其根源是MicrosoftC++語言把wchar_t資料類型定義為16位元的unsignedshort,這就與一個wchar_t型變數對應一個寬字元、可以儲存一個Unicode字元的規定相矛盾。
相反,Linux平台的GCC編譯器規定一個wchar_t是4位元組長度,可以儲存一個UTF-32字元,寧可浪費了很大的儲存空間。
下例執行於Windows平台的C++程式可說明此點:
//此源文件在Windows平台上必须保存为Unicode格式(即UTF-16小尾)
//因为包含的汉字“𪚥”,不能在简体中文版Windows默认的代码页936(即GBK)中表示
//该汉字在UTF-16小尾序中用4个字节表示
//Windows操作系统能正确显示这样的在UTF-16需用4字节表示的字符
//但是WindowsAPI不能正确处理这样的在UTF-16需用4字节表示的字符,把它判定为2个UCS-2字符
#include
intmain()
{
constwchar_tlwc[]=L"𪚥";
MessageBoxW(NULL,lwc,lwc,MB_OK);
inti=wcslen(lwc);
printf("%d\n",i);
intj=lstrlenW(lwc);
printf("%d\n",j);
return0;
}
Windows9x系統的API僅支援ANSI字元集,只支援部分的UCS-2轉換。
1996年發布的WindowsNT4.0的API支援UCS-2。
Windows2000開始,Windows系統API開始支援UTF-16,並支援SurrogatePair;但許多系統控制項比如文字方塊和label等還不支援surrogatepair表示的字元,會顯示成兩個字元。
Windows7及更新的系統已經良好地支援了UTF-16,包括SurrogatePair。
WindowsAPI支援在UTF-16LE(wchar_t類型)與UTF-8(頁碼CP_UTF8)之間的轉碼。
例如:
#include
intmain(){
chara1[128],a2[128]={"Hello"};
wchar_tw=L'页';
intn1,n2=5;
wchar_tw1[128];
intm1=0;
n1=WideCharToMultiByte(CP_UTF8,0,&w,1,a1,128,NULL,NULL);
m1=MultiByteToWideChar(CP_UTF8,0,a2,n2,w1,128);
}
參考文獻[編輯]
^CodeinApacheXalan2.7.0whichcanfailonsurrogatepairs.ApacheFoundation.[2012-03-23].(原始內容存檔於2011-04-23).Thecodewronglyassumesitissafetousesubstringontheinput
^Python2.6decodeofUTF16doesthisonLinux,anditcorrectlyhandlessurrogatepairs.All"CESU"decodersdoittoo,thoughtheyalsomistranslatecorrectsurrogatepairsinto2characters
外部連結[編輯]
UnicodeTechnicalNote#12:UTF-16forProcessing(頁面存檔備份,存於網際網路檔案館)
Averyshortalgorithmfordeterminingthesurrogatepairforanycodepoint(頁面存檔備份,存於網際網路檔案館)
UnicodeFAQ:WhatisthedifferencebetweenUCS-2andUTF-16?(頁面存檔備份,存於網際網路檔案館)
UnicodeCharacterNameIndex(頁面存檔備份,存於網際網路檔案館)
RFC 2781:UTF-16,anencodingofISO10646
java.lang.Stringdocumentation,discussingsurrogatehandling(頁面存檔備份,存於網際網路檔案館)
閱論編UnicodeUnicode
統一碼聯盟
通用字元集
Unicode
碼位
Unicode區段
通用字元集字元(英語:UniversalCharacterSetcharacters)
Unicode字元特性(英語:Unicodecharacterproperty)
Unicode字元平面對映
私人使用區
字元通用字元集字元(英語:UniversalCharacterSetcharacters)
位元組順序記號
CombiningGraphemeJoiner(英語:CombiningGraphemeJoiner)
左至右符號及右至左符號
軟連字元(英語:Softhyphen)
連詞字元
零寬連字
零寬不連字
零寬空格
列表
Unicode字元列表
中日韓統一表意文字
組合字元
Unicode中的重覆字元(英語:DuplicatecharactersinUnicode)
Unicode數字
Unicode收錄的文字
空格
Unicode符號
全形和半形
處理演算法
雙向文稿
統一碼定序演算法
ISO14651(英語:ISO14651)
Unicode等價性
異體字選擇器
國際表意文字核心
Unicode編碼比較(英語:ComparisonofUnicodeencodings)
統一碼二進制有序壓縮
UTF-16的八位元相容編碼方案
Punycode
統一碼標準壓縮方案
UTF-1
UTF-7
UTF-8
UTF-16
UTF-32
UTF-EBCDIC(英語:UTF-EBCDIC)
組合字元
組合字元
Unicode相容字元
Unicode中的重覆字元(英語:DuplicatecharactersinUnicode)
Unicode等價性
同形字
預組字元
Unicode中的拉丁文字預組字元(英語:ListofprecomposedLatincharactersinUnicode)
Z-變體
異體字選擇器
區域指示符
菲茨派屈克度量
使用
國際化域名
Unicode與電子郵件(英語:Unicodeandemail)
Unicode字型
Unicode與HTML(英語:UnicodeandHTML)
XML與HTML字元實體參照列表
字元值參照
Unicode輸入法
國際表意文字核心
相關標準
通用當地數據儲存庫
GB18030
ISO/IEC8859
ISO15924
相關主題
Unicode
CSUR
表意文字小組
國際統一碼部件
漢字統一化(英語:Hanunification)
惡搞RFC#4042(UTF-9/UTF-18)
Unicode收錄的文字收錄文字
組合字元
附加符號
標點符號
空格
Unicode數字
現代文字
Adlamalphabet(英語:Adlamalphabet)
阿拉伯文字
阿拉伯語附加符號(英語:Arabicdiacritics)
亞美尼亞字母
峇里字母
巴姆穆文字
巴塔克文(英語:Batakalphabet)
孟加拉文
注音符號
盲文
布希德文
緬文
加拿大原住民音節文字
Chakmaalphabet(英語:Chakmaalphabet)
占語字母
Cherokeesyllabary(英語:Cherokeesyllabary)
中日韓統一表意文字
西里爾字母
德瑟雷特文(英語:Deseretalphabet)
天城文
吉茲字母
喬治亞字母
希臘字母
古吉拉特文
GunjalaGondiLipi(英語:GunjalaGondiLipi)
古木基文
諺文
哈乃斐羅興亞文字
朝鮮漢字
Hanunó'oalphabet(英語:Hanunó'oalphabet)
希伯來字母
希伯來語附加符號(英語:Hebrewdiacritics)
平假名
爪哇字母
日本漢字
卡納達文
片假名
KayahLialphabet(英語:KayahLialphabet)
高棉文
寮文字
Unicode中的拉丁字母
絨巴文
Limbualphabet(英語:Limbualphabet)
老傈僳文
布吉斯文(英語:Lontaraalphabet)
馬拉雅拉姆文
Gondiwriting(英語:Gondiwriting)
MendeKikakuiscript(英語:MendeKikakuiscript)
Medefaidrin(英語:Medefaidrin)
柏格理苗文
傳統蒙古文
Mropeople(英語:Mropeople)
西非書面字母
西雙版納傣文
PrachalitNepalalphabet(英語:PrachalitNepalalphabet)
女書
OlChikialphabet(英語:OlChikialphabet)
奧里亞文
Osagealphabet(英語:Osagealphabet)
奧斯曼亞字母
PahawhHmong(英語:PahawhHmong)
PauCinHau(英語:PauCinHau)
Rejangalphabet(英語:Rejangalphabet)
Samaritanalphabet(英語:Samaritanalphabet)
Saurashtraalphabet(英語:Saurashtraalphabet)
蕭伯納字母
僧伽羅文
索拉僧平字母
Sundanesealphabet(英語:Sundanesealphabet)
SylhetiNagari(英語:SylhetiNagari)
敘利亞字母
Tagbanwaalphabet(英語:Tagbanwaalphabet)
德宏傣文
老傣文
傣黯語
泰米爾文
泰盧固文
它拿字母
泰文字
藏文
提非納文字
底羅仆多文
Vaisyllabary(英語:Vaisyllabary)
WarangCiti(英語:WarangCiti)
彝文
古代文字
阿洪姆文
安納托利亞象形文字(英語:Anatolianhieroglyphs)
古北阿拉伯文(英語:AncientNorthArabian)
阿維斯陀文(英語:Avestanalphabet)
Bassaalphabet(英語:Bassaalphabet)
梵文(英語:Bhaiksukialphabet)
婆羅米文
卡里亞文(英語:Carianalphabets)
高加索阿爾巴尼亞字母(英語:CaucasianAlbanianalphabet)
科普特字母
楔形文字
賽普勒斯音節文字
多格拉語
聖書體
愛爾巴桑
格拉哥里字母
哥德字母
古蘭塔文
Hatranalphabet(英語:Hatranalphabet)
阿拉米字母
巴列維文
安息語
凱提文
佉盧文
Khojki(英語:Khojki)
Khudabadiscript(英語:Khudabadiscript)
線形文字A
線形文字B
呂西亞字母(英語:Lycianalphabet)
Lydianalphabet(英語:Lydianalphabet)
Mahajani(英語:Mahajani)
望加錫文(英語:Makassareselanguage)
Mandaicalphabet(英語:Mandaicalphabet)
摩尼字母
象雄語
Meitheiscript(英語:Meitheiscript)
麥羅埃字母
馬拉地文(英語:Modialphabet)
木爾坦文(英語:Multanialphabet)
納巴泰字母
歐甘字母
古匈牙利字母
古義大利字母
古彼爾姆文
古波斯楔形文字
粟特字母
突厥字母
帕米瑞拉文字(英語:Palmyrenealphabet)
八思巴字母
腓尼基字母
巴列維文字
盧恩字母
夏拉達文
悉曇文字
粟特字母
南阿拉伯字母
索永布字母
貝貝因字母
塔卡里文字(英語:Takrialphabet)
西夏文
烏加里特字母
札那巴札爾方形字母
標記文字
杜普洛伊速記(英語:Duployanshorthand)
薩頓手語譜寫
符號
Unicode中的宗教與政治符號(英語:ReligiousandpoliticalsymbolsinUnicode)
貨幣符號
Unicode中的數學運算子與符號(英語:MathematicaloperatorsandsymbolsinUnicode)
Unicode中的音標符號
哏圖標
閱論編字元編碼早期電信
電報電碼(英語:Telegraphcode)
庫克與惠斯通(英語:CookeandWheatstonetelegraph)
摩斯
非拉丁字母(英語:Morsecodefornon-Latinalphabets)
日文(英語:Wabuncode)
中文
西里爾字母(英語:RussianMorsecode)
韓文(英語:SKATS)
博多與莫瑞
Fieldata(英語:Fieldata)
ASCII
ISO/IEC646
BCDIC(英語:BCD(characterencoding))
電傳文訊(英語:Teletex)與電傳視訊(英語:Videotex)/電視資訊
T.51/ISO/IEC6937(英語:T.51/ISO/IEC6937)
ITUT.61(英語:ITUT.61)
ITUT.101(英語:Videotexcharacterset)
世界系統電傳文訊(英語:WorldSystemTeletext)
字元集(英語:Teletextcharacterset)
ISO/IEC8859
現行
-1(西歐語言)
-2(中歐語言)
-3(馬爾他文/世界文)
-4(北歐語言)
-5(西里爾字母)
-6(阿拉伯文)
-7(希臘文)
-8(希伯來文)
-9(土耳其文)
-10(北日耳曼語支)
-11(泰文)
-13(波羅的語族)
-14(凱爾特語族)
-15(新西歐語言)
-16(羅馬尼亞文)
廢止
-12(梵文)
提議
KOI-8西里爾字母(英語:ISO-IR-111)
薩米文(英語:ISO-IR-197)
改編
威爾斯文(英語:ISO-IR-182)
巴倫支西里爾字母(英語:ISO-IR-200)
愛沙尼亞文(英語:Codepage922)
烏克蘭西里爾字母(英語:Codepage1124)
書目
MARC-8(英語:MARC-8)
ANSEL(英語:ANSEL)
CCCII/EACC
ISO5426(英語:ISO5426)
ISO5427(英語:ISO5427)
ISO5428(英語:ISO5428)
ISO6438
ISO6862(英語:ISO6862)
國家標準
ArmSCII
BraSCII(英語:BraSCII)
CNS11643
DIN66003(英語:DIN66003)
ELOT927(英語:ELOT927)
GOST10859(英語:GOST10859)
GB2312
GB12052
GB18030
HKSCS
ISCII
JISX0201
JISX0208
JISX0212(英語:JISX0212)
JISX0213(英語:JISX0213)
KOI-7(英語:KOI-7)
KPS9566
KSX1001
KSX1002(英語:KSX1002)
LST1564(英語:LST1564)
LST1590-4(英語:LST1590-4)
PASCII
ShiftJIS
SI960(英語:SI960)
TIS-620(英語:ThaiIndustrialStandard620-2533)
TSCII
VISCII(英語:VISCII)
VSCII
YUSCII(英語:YUSCII)
ISO/IEC2022
ISO/IEC8859
ISO/IEC10367(英語:ISO/IEC10367)
EUC
ISO-IR-165
macOS頁碼
亞美尼亞文(英語:MacOSArmenian)
阿拉伯文
巴倫支西里爾字母(英語:MacOSBarentsCyrillic)
凱爾特語族(英語:MacOSCeltic)
中歐語言
克羅埃西亞文(英語:MacOSCroatianencoding)
西里爾字母(英語:MacOSCyrillicencoding)
梵文(英語:MacOSDevanagariencoding)
波斯文(英語:MacFarsiencoding)
字體X(英語:MacintoshFontXencoding)
蓋爾文(英語:MacOSGaelic)
喬治亞文(英語:MacOSGeorgian)
希臘文(英語:MacGreekencoding)
古吉拉特文(英語:MacOSGujarati)
古木基文(英語:MacOSGurmukhi)
希伯來文(英語:MacOSHebrew)
冰島文(英語:MacOSIcelandicencoding)
因紐特文(英語:MacOSInuit)
鍵盤(英語:MacOSKeyboardencoding)
拉丁文(英語:MacintoshLatinencoding)
馬爾他文/世界文(英語:MacOSMaltese/Esperantoencoding)
歐甘字母(英語:MacOSOgham)
羅曼語族
羅馬尼亞文(英語:MacOSRomanianencoding)
薩米文(英語:MacOSSámi)
土耳其文(英語:MacOSTurkishencoding)
土耳其西里爾字母(英語:MacOSTurkicCyrillic)
烏克蘭文(英語:MacOSUkrainianencoding)
VT100(英語:VT100encoding)
DOS代碼頁
437
668(英語:Codepage668)
708(英語:Codepage708)
720(英語:Codepage720)
737(英語:Codepage737)
770(英語:Codepage770)
773(英語:Codepage773)
775(英語:Codepage775)
776(英語:Codepage776)
777(英語:Codepage777)
778(英語:Codepage778)
850(英語:Codepage850)
851(英語:Codepage851)
852(英語:Codepage852)
853(英語:Codepage853)
855(英語:Codepage855)
856(英語:Codepage856)
857(英語:Codepage857)
858(英語:Codepage858)
859(英語:Codepage859)
860(英語:Codepage860)
861(英語:Codepage861)
862(英語:Codepage862)
863(英語:Codepage863)
864(英語:Codepage864)
865(英語:Codepage865)
866(英語:Codepage866)
867(英語:Codepage867)
868(英語:Codepage868)
869(英語:Codepage869)
897(英語:Codepage897)
899(英語:Codepage899)
903(英語:Codepage903)
904(英語:Codepage904)
932(英語:Codepage932(IBM))
936(英語:Codepage936(IBM))
942(英語:Codepage942)
949(英語:Codepage949(IBM))
950
951(英語:Codepage951)
1040(英語:Codepage1040)
1042(英語:Codepage1042)
1043(英語:Codepage1043)
1046(英語:Codepage1046)
1098(英語:Codepage1098)
1115(英語:Codepage1115)
1116(英語:Codepage1116)
1117(英語:Codepage1117)
1118(英語:Codepage1118)
1127(英語:Codepage1127)
3846(英語:Codepage3846)
ABICOMP(英語:ABICOMPcharacterset)
CSIndic(英語:CSIndiccharacterset)
CSXIndic(英語:CSXIndiccharacterset)
CSX+Indic(英語:CSX+Indiccharacterset)
CWI-2(英語:CWI-2)
伊朗系統(英語:IranSystemencoding)
卡梅尼茨(英語:Kamenickýencoding)
馬索維亞(英語:Mazoviaencoding)
MIK(英語:MIK(characterset))
IBMAIX代碼頁
895(英語:Codepage895)
896(英語:Codepage896)
912(英語:Codepage912)
915(英語:Codepage915)
921(英語:Codepage921)
922(英語:Codepage922)
1006(英語:Codepage1006)
1008(英語:Codepage1008)
1009(英語:Codepage1009)
1010(英語:Codepage1010)
1012(英語:Codepage1012)
1013(英語:Codepage1013)
1014(英語:Codepage1014)
1015(英語:Codepage1015)
1016(英語:Codepage1016)
1017(英語:Codepage1017)
1018(英語:Codepage1018)
1019(英語:Codepage1019)
1124(英語:Codepage1124)
1133(英語:Codepage1133)
MicrosoftWindows代碼頁(英語:Windowscodepage)
CER-GS(英語:CER-GS)
932(英語:Codepage932(MicrosoftWindows))
936
GBK
950
1169(英語:Codepage1169)
ExtendedLatin-8(英語:ExtendedLatin-8)
1250(英語:Windows-1250)
1251(英語:Windows-1251)
1252
1253(英語:Windows-1253)
1254(英語:Windows-1254)
1255(英語:Windows-1255)
1256(英語:Windows-1256)
1257(英語:Windows-1257)
1258(英語:Windows-1258)
1270(英語:Windows-1270)
西里爾字母+芬蘭文(英語:WindowsCyrillic+Finnish)
西里爾字母+法文(英語:WindowsCyrillic+French)
西里爾字母+德文(英語:WindowsCyrillic+German)
希臘語變音符號(英語:WindowsPolytonicGreek)
EBCDIC代碼頁
37(英語:Codepage37)
EBCDIC中的日文(英語:JapaneselanguageinEBCDIC)
DKOI(英語:DKOI)
DEC終端機(VTx(英語:VT220))
MCS(英語:MultinationalCharacterSet)
NRCS(英語:NationalReplacementCharacterSet)
加拿大法文(英語:Codepage1020)
瑞士文(英語:Codepage1021)
西班牙文(英語:Codepage1023)
英國英文(英語:Codepage1101)
荷蘭文(英語:Codepage1102)
芬蘭文(英語:Codepage1103)
法文(英語:Codepage1104)
挪威文/丹麥文(英語:Codepage1105)
瑞典文(英語:Codepage1106)
挪威文/丹麥文(替代)(英語:Codepage1107)
8位元希臘文(英語:Codepage1287)
8位元土耳其文(英語:Codepage1288)
SI960(英語:SI960)
希伯來文(英語:DECHebrew)
特殊圖形(英語:DECSpecialGraphics)
技術(英語:DECTechnicalCharacterSet)
特定平臺
1057(英語:Codepage1057)
Acorn(英語:RISCOScharacterset)
Adobe標準(英語:PostScriptStandardEncoding)
AdobeLatin1(英語:PostScriptLatin1Encoding)
AmstradCPC(英語:AmstradCPCcharacterset)
AppleII(英語:AppleIIcharacterset)
雅達利資訊交換標準碼(英語:ATASCII)
雅達利ST(英語:AtariSTcharacterset)
BICS(英語:BitstreamInternationalCharacterSet)
卡西歐計算機(英語:Casiocalculatorcharactersets)
CDC(英語:CDCdisplaycode)
CompucolorII(英語:CompucolorIIcharacterset)
CP/M+(英語:AmstradCP/MPluscharacterset)
DECRADIX50(英語:DECRADIX50)
DECMCS(英語:MultinationalCharacterSet)/NRCS(英語:NationalReplacementCharacterSet)
DG國際(英語:DGInternational)
Fieldata(英語:Fieldata)
GEM(英語:GEMcharacterset)
GSM03.38(英語:GSM03.38)
HPRoman(英語:HPRoman)
HPFOCAL(英語:FOCALcharacterset)
HPRPL(英語:RPLcharacterset)
SQUOZE(英語:SQUOZE)
LICS(英語:LotusInternationalCharacterSet)
LMBCS(英語:LotusMulti-ByteCharacterSet)
MSX(英語:MSXcharacterset)
NECAPC(英語:NECAPCcharacterset)
NeXT(英語:NeXTcharacterset)
PETSCII(英語:PETSCII)
SEGASC-3000(英語:SegaSC-3000characterset)
夏普計算機(英語:Sharppocketcomputercharactersets)
夏普MZ(英語:SharpMZcharacterset)
辛克萊QL(英語:SinclairQLcharacterset)
符號
電傳文訊(英語:Teletextcharacterset)
德州儀器計算機(英語:TIcalculatorcharactersets)
TRS-80(英語:TRS-80characterset)
文圖拉國際(英語:VenturaInternational)
WISCII(英語:WangInternationalStandardCodeforInformationInterchange)
XCCS(英語:XeroxCharacterCodeStandard)
ZX80(英語:ZX80characterset)
ZX81(英語:ZX81characterset)
ZXSpectrum(英語:ZXSpectrumcharacterset)
Unicode/ISO/IEC10646
UTF-1
UTF-7
UTF-8
UTF-16
UTF-32
UTF-EBCDIC(英語:UTF-EBCDIC)
GB18030
BOCU-1
CESU-8
SCSU
TACE16(英語:TamilAllCharacterEncoding)
Unicode編碼比較(英語:ComparisonofUnicodeencodings)
TeX排版系統
科克(英語:Corkencoding)
LY1(英語:LY1encoding)
OML(英語:OMLencoding)
OMS(英語:OMSencoding)
OT1(英語:OT1encoding)
其他代碼頁
ABICOMP(英語:ABICOMPcharacterset)
ASMO449(英語:ASMO449)
Big5
APL符號數位編碼(英語:DigitalencodingofAPLsymbols)
ISO-IR-68(英語:ISO-IR-68)
ARIBSTD-B24
HZ(英語:HZ(characterencoding))
IEC-P27-1(英語:IEC-P27-1)
INIS
7位元(英語:INIScharacterset)
INIS-8(英語:8位元)
ISO-IR-169(英語:ISO-IR-169)
ISO2033(英語:ISO2033)
KOI
-R
-RU(英語:KOI8-RU)
-U
今昔文字鏡
SEASCII(英語:StanfordExtendedASCII)
Stanford/ITS(英語:Stanford/ITScharacterset)
TRON(英語:TRON(encoding))
統合韓文代碼(英語:UnifiedHangulCode)
控制字元
摩斯電碼專用代碼(英語:ProsignsforMorsecode)
C0與C1控制字元
ISO/IEC6429
JISX0211(英語:JISX0211)
Unicode控制字元
空白字元
相關條目
CCSID(英語:CCSID)
HTML字元編碼
字元集探測
中日韓統一表意文字
硬體代碼頁(英語:Hardwarecodepage)
磁性墨水字元識別碼(英語:Magneticinkcharacterrecognition)
亂碼
可變長度編碼(英語:Variable-widthencoding)
字元集
取自「https://zh.wikipedia.org/w/index.php?title=UTF-16&oldid=69805044」
分類:Unicode轉換格式隱藏分類:使用Unicode擴展漢字的條目
導覽選單
個人工具
沒有登入討論貢獻建立帳號登入
命名空間
條目討論
臺灣正體
不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體
查看
閱讀編輯檢視歷史
更多
搜尋
導航
首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科
說明
說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科
工具
連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目
列印/匯出
下載為PDF可列印版
其他語言
AlemannischالعربيةБългарскиCatalàČeštinaDanskDeutschEnglishEsperantoEspañolFrançaisעבריתHrvatskiMagyarBahasaIndonesiaItaliano日本語한국어NederlandsPolskiPortuguêsРусскийSlovenčinaSvenskaไทยУкраїнськаاردو
編輯連結