注重——上面解碼算法的實(shí)際實(shí)現(xiàn)應(yīng)該進(jìn)行安全保護(hù) , 以便處理解碼無(wú)效的系列 。例如 ,
一個(gè)幼稚的實(shí)現(xiàn)可能(錯(cuò)誤)解碼無(wú)效的UTF-8系列C080為字符U 0000 , 它可能導(dǎo)致安
全問(wèn)題和/或其他問(wèn)題 。參見(jiàn)下面的安全考慮部分 。
更具體的算法和公式可以在[FSS_UTF] , [UNICODE]或[ISO-10646]附錄R中找到 。
3、標(biāo)準(zhǔn)版本
ISO/IEC10646通過(guò)發(fā)布修正進(jìn)行了一次次更新 。同樣地 , Unicode標(biāo)準(zhǔn)的不同版本有:
1.0,1.1和2.0 。每一個(gè)新版本廢除和替換了舊版本 , 但是實(shí)現(xiàn)和較重要的數(shù)據(jù)沒(méi)有馬上更新 。
一般地 , 增加新字符的改變不會(huì)對(duì)舊數(shù)據(jù)引發(fā)非凡的問(wèn)題 。然而 , ISO/IEC10646修正5
移動(dòng)和擴(kuò)展了韓文Hangul組 , 因此包含Hangul字符的以前版本數(shù)據(jù)在新版本下無(wú)效 。Unicode
2.0對(duì)Unicode1.1有同樣的不同 。答應(yīng)這樣不協(xié)調(diào)變化的正式理由是在實(shí)現(xiàn)上和數(shù)據(jù)中不存
在Hangul 。這個(gè)改變事件被稱為“韓文混亂” , 相關(guān)的委員會(huì)保證永遠(yuǎn)不會(huì)再進(jìn)行這樣不協(xié)
調(diào)的改變 。
關(guān)于MIME字符編碼標(biāo)簽 , 新版本和特定的任何不協(xié)調(diào)的改變都有前因后果 , 第5節(jié)將
進(jìn)行討論 。
4、例子
UCS-2系列"A."(0041,2262,0391,002E)用UTF-8編碼
如下:
41E289A2CE912E
對(duì)韓文"hangugo"(D55C,AD6D,C5B4) , 表示Hangul字符的UCS-2序列可以編碼如下:
ED959CEAB5ADEC96B4
對(duì)日文"nihongo"(65E5,672C,8A9E) , 表示漢字的UCS-2序列可以編碼如下:
E697A5E69CACE8AA9E
5、MIME注冊(cè)
本備忘錄計(jì)劃服務(wù)于MIME字符集參數(shù)[CHARSET-REG]注冊(cè)基礎(chǔ) 。被提到的字符集參
數(shù)值是UTF-8 。這個(gè)字符標(biāo)簽媒介類型包含由ISO/IEC10646指令組成的字符文本 , ISO/IEC
10646包括了直到修正5(韓文組)的所有修正版本 。此類型使用上面概述的編碼方案進(jìn)行8
比特字節(jié)序列編碼 。UTF-8適合于在文本的上層類型下使用MIME內(nèi)容類型
值得注重的是 , "UTF-8"標(biāo)簽不包含一般由ISO/IEC10646提交的版本標(biāo)識(shí) 。特意這樣做
的原因如下:
MIME字符集標(biāo)簽的設(shè)計(jì)僅用于給予需要翻譯從有線接收的字節(jié)序列到字符序列的信
息 , 而沒(méi)有其他的用途(參見(jiàn)RFC2045,2.2節(jié)[MIME]) 。只要字符集標(biāo)準(zhǔn)沒(méi)有不兼容的改變 ,
版本數(shù)字沒(méi)有意義 , 因?yàn)橐环浇邮盏讲皇煜さ男路峙渥址?, 通過(guò)標(biāo)簽的理解得不到任何東西 。
標(biāo)簽可能被隨時(shí)接收 , 標(biāo)簽自己對(duì)新字符不提供任何信息 。
因此 , 只要標(biāo)準(zhǔn)適當(dāng)?shù)馗倪M(jìn) , 擁有標(biāo)識(shí)版本標(biāo)簽的益處是顯而可見(jiàn) , 但對(duì)依靠于版本的
標(biāo)簽不利因素為:當(dāng)舊的應(yīng)用收到一個(gè)包含新的不熟悉標(biāo)簽的數(shù)據(jù)時(shí) , 它可能熟悉標(biāo)簽失敗 ,
而不能完成對(duì)數(shù)據(jù)的處理;而一個(gè)普通的熟悉標(biāo)簽會(huì)引發(fā)大多數(shù)正確的數(shù)據(jù)處理 , 它可能不
包含任何新的字符 。
現(xiàn)今“韓文混亂”(ISO/IEC10646修正5)是一種不協(xié)調(diào)的變化 , 理論上同上面描述的與
版本無(wú)關(guān)的MIME字符集標(biāo)簽的適用性相矛盾 。但是兼容性問(wèn)題僅會(huì)出現(xiàn)在包含采用Unicode
1.1(或等同的ISO/IEC10646修正5以前)編碼的韓文Hangul字符數(shù)據(jù)中 ??梢宰C實(shí)沒(méi)有這
樣的數(shù)據(jù)值得擔(dān)心 , 因此 , 這是不協(xié)調(diào)改變可以被接收的主要原因 。
實(shí)際上 , 假定標(biāo)簽理解為對(duì)修正5以后的所有版本進(jìn)行引用 , 并且假定實(shí)際不會(huì)出現(xiàn)不
協(xié)調(diào)的改變 , 則獨(dú)立于版本的標(biāo)簽是有理由的 。由此 , 除非ISO/IEC10646以后版本出現(xiàn)不
兼容改變 , 這里的MIME字符集定義將同以前的版本保持一致 , 除非IETF明確規(guī)定為不同 。
也計(jì)劃注冊(cè)字符集參數(shù)值為"UNICODE-1-1-UTF-8" , 唯一用途是用于可標(biāo)簽的文本數(shù)
推薦閱讀
- ISO8473基礎(chǔ)上的端系統(tǒng)與中介系統(tǒng)間的路由信息的交換
- iso22000認(rèn)證是什么意思
- 用ISO鏡像文件安裝Xp操作系統(tǒng)的方法教程
- IP網(wǎng)絡(luò)管理技術(shù)
- MPEG-4
- Xilisoft Video Converter Ultimate給視頻添加馬賽克的方法
- Xilisoft Video Converter Ultimate調(diào)整視頻飽和度的方法
- Xilisoft Video Converter Ultimat給視頻添加馬賽克的方法步驟
- Xilisoft Video Converter Ultimate合并視頻的操作方法
- 那種iso解壓軟件比較好
