導航:首頁 > 綜合知識 > unicode是什麼

unicode是什麼

發布時間:2022-08-08 20:59:48

① 什麼是unicode編碼

世界上存在著多種編碼方式,同一個二進制數字可以被解釋成不同的符號。因此,要想打開一個文本文件,就必須知道它的編碼方式,否則用錯誤的編碼方式解讀,就會出現亂碼。為什麼電子郵件常常出現亂碼?就是因為發信人和收信人使用的編碼方式不一樣。

可以想像,如果有一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,那麼亂碼問題就會消失。這就是 Unicode,就像它的名字都表示的,這是一種所有符號的編碼。

歷史上存在兩個試圖獨立設計 Unicode 的組織,即國際標准化組織(ISO)和一個軟體製造商的協會(unicode.org)。ISO 開發了 ISO 10646 項目,Unicode 協會開發了 Unicode 項目。

在1991年前後,雙方都認識到世界不需要兩個不兼容的字元集。於是它們開始合並雙方的工作成果,並為創立一個單一編碼表而協同工作。從 Unicode2.0 開始,Unicode 項目採用了與 ISO 10646-1 相同的字型檔和字碼。

目前兩個項目仍都存在,並獨立地公布各自的標准。Unicode 協會現在的最新版本是2005年的 Unicode 4.1.0。ISO 的最新標準是 10646-3:2003。

Unicode 是一個很大的集合,現在的規模可以容納100多萬個符號。每個符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的大寫字母A,U+4E00表示漢字"一"。具體的符號對應表,可以查詢 unicode.org,或者專門的漢字對應表。

Unicode的問題
需要注意的是,Unicode 只是一個符號集,它只規定了符號的二進制代碼,卻沒有規定這個二進制代碼應該如何存儲。

比如,漢字"一"的 unicode 是十六進制數4E00,轉換成二進制數足足有15位(100111000000000),也就是說這個符號的表示至少需要2個位元組。而表示其他更大的符號,可能需要3個位元組或者4個位元組,甚至更多。

這里就有兩個的問題,一個是,如何才能區別 unicode 和 ascii?計算機怎麼知道三個位元組表示一個符號,而不是分別表示三個符號呢?第二個問題是,我們已經知道,英文字母只用一個位元組表示就夠了,如果unicode統一規定,每個符號用三個或四個位元組表示,那麼每個英文字母前都必然有二到三個位元組是0,這對於存儲空間來說是極大的浪費,文本文件的大小會因此大出二三倍,這是難以接受的。

它們造成的直接結果是:出現了unicode 的多種存儲方式,也就是說有許多種不同的二進制格式,可以用來表示 unicode 。另外 unicode 在很長一段時間內無法推廣,直到互聯網的出現。

網路上流行的utf-8就是unicode編碼的一類應用.

如何查詢 Unicode 編碼
在 Windows 系統下,你可以在運行欄輸入 "eudcedit.exe" 調用 TrueType 造字程序,在其中的窗口--參照頁,在"代碼"欄輸入 Unicode 編碼可以查找到相應的字元;在"形狀"欄輸入字元則可以查找到相應的 Unicode 編碼 。

② unicode編碼是什麼

Unicode是一種字元編碼方案,它為每種語言中的每個字元都設定了統一唯一的二進制編碼,以實現跨語言、跨平台進行文本轉換、處理的要求。

Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案。目前的Unicode字元分為17組編排,0x0000至0x10FFFF,每組稱為平面(Plane),而每平面擁有65536個碼位,共1114112個。

主要內容

為了使Unicode與已存在和廣泛使用的舊有編碼互相兼容,尤其是差不多所有電腦系統都支援的基本拉丁字母部分,所以Unicode的首256字元仍舊保留給ISO8859-1所定義的字元,使既有的西歐語系文字的轉換不需特別考量。

另方面因相同的原因,Unicode把大量相同的字元重復編到不同的字元碼中去,使得舊有紛雜的編碼方式得以和Unicode編碼間互相直接轉換,而不會遺失任何資訊。

舉例來說,全形格式區段包含了主要的拉丁字母的全形格式,在中文、日文、以及韓文字形當中,這些字元以全形的方式來呈現,而不以常見的半形形式顯示,這對豎排文字和等寬排列文字有重要作用。

③ unicode漢語翻譯是什麼意思

Unicode(統一碼、萬國碼、單一碼)是計算機科學領域里的一項業界標准,包括字元集、編碼方案等。Unicode 是為了解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。[1]
中文名
統一碼
外文名
Unicode
也 稱
萬國碼
解 釋
計算機科學領域里的一項業界標准

Unicode 是為了解決傳統的字元編碼方案的局限而產生的,例如ISO 8859所定義的字元雖然在不同的國家中廣泛地使用,可是在不同國家間卻經常出現不兼容的情況。很多傳統的編碼方式都有一個共同的問題,即容許電腦處理雙語環境(通常使用拉丁字母以及其本地語言),但卻無法同時支持多語言環境(指可同時處理多種語言混合的情況)。
Unicode 編碼包含了不同寫法的字,如「ɑ/a」、「戶/戶/戸」。然而在漢字方面引起了一字多形的認定爭議(詳見中日韓統一表意文字主題)。
在文字處理方面,統一碼為每一個字元而非字形定義唯一的代碼(即一個整數)。換句話說,統一碼以一種抽象的方式(即數字)來處理字元,並將視覺上的演繹工作(例如字體大小、外觀形狀、字體形態、文體等)留給其他軟體來處理,例如網頁瀏覽器或是文字處理器。
幾乎所有電腦系統都支持基本拉丁字母,並各自支持不同的其他編碼方式。Unicode為了和它們相互兼容,其首256字元保留給ISO 8859-1所定義的字元,使既有的西歐語系文字的轉換不需特別考量;並且把大量相同的字元重復編到不同的字元碼中去,使得舊有紛雜的編碼方式得以和Unicode編碼間互相直接轉換,而不會丟失任何信息。舉例來說,全形格式區段包含了主要的拉丁字母的全形格式,在中文、日文、以及韓文字形當中,這些字元以全形的方式來呈現,而不以常見的半形形式顯示,這對豎排文字和等寬排列文字有重要作用。
在表示一個Unicode的字元時,通常會用「U+」然後緊接著一組十六進制的數字來表示這一個字元。在基本多文種平面(英文為 Basic Multilingual Plane,簡寫 BMP。它又簡稱為「零號平面」, plane 0)里的所有字元,要用四位十六進制數(例如U+4AE0,共支持六萬多個字元);在零號平面以外的字元則需要使用五位或六位十六進制數了。舊版的Unicode標准使用相近的標記方法,但卻有些微的差異:在Unicode 3.0里使用「U-」然後緊接著八位數,而「U+」則必須隨後緊接著四位數。

④ 通俗的講,什麼是unicode

Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。它為每種語言中的每個字元設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。隨著計算機工作能力的增強,Unicode也在面世以來的十多年裡得到普及。最新版本的 Unicode 是 2006年7月14日推出的Unicode 5.0.0。

Unicode 的編碼方式與 ISO 10646 的通用字元集對應,使用16位的編碼空間,每個字元佔用2個位元組。理論上最多可以表示65536 個字元。基本滿足各種語言的使用。實際上目前版本的 Unicode 尚未填充滿這16位編碼,保留了大量空間作為特殊使用或將來擴展。

上述16位 Unicode 字元構成基本多文種平面(Basic Multilingual Plane, 簡稱 BMP)。最新(但未實際廣泛使用)的 Unicode 版本定義了16個輔助平面,兩者合起來至少需要佔據21位的編碼空間,比3位元組略少。但事實上輔助平面字元仍然佔用4位元組編碼空間,與 UCS-4 保持一致。未來版本會擴充到 ISO 10646-1 實現級別3,即涵蓋 UCS-4 的所有字元。UCS-4 是一個更大的尚未填充完全的31位字元集,加上恆為0的首位,共需占據32位,即4位元組。理論上可以涵蓋一切語言所用的符號。

BMP 字元的 Unicode 編碼表示為 U+hhhh,其中每個 h 代表一個十六進制數位。與 UCS-2 編碼完全相同。對應的4位元組 UCS-4 編碼後兩個位元組一致,前兩個位元組的所有位均為0。

Unicode 的傳輸常用Unicode轉換格式(Unicode Translation Format,簡稱為 UTF)。例如UTF-8。它是在Unicode基礎上為提高傳輸效率的一種變長編碼。

⑤ 什麼是unicode編碼

Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案。被譯為萬國碼、統一碼或單一碼。能夠使計算機實現跨語言、跨平台的文本轉換及處理。Unicode用數字0-0x10FFFF來映射這些字元,最多可以容納1114112個字元,或者說有1114112個碼位。碼位就是可以分配給字元的數字。

⑥ unicode是什麼意思

unicode

n.【計算機】統一碼, 萬國碼, 單一碼(一種可供不同語言和文本使用的國際編碼標准, 能為每個字母、數字或符號分配一個唯一的數值, 可以跨平台和程序應用)

⑦ Unicode字元是什麼

UNICODE使任何語言的字元都可以為機器更容易的接受,UNICODE由UC(UNICODE協會)管理並接受其技術上的修改。包括JAVA、LDAP、XML這樣的技術標准中均要求得到UNICODE的支持。UNICODE的字元被成為代碼點(CODE POINTS),用U後面加上XXXX來表示,其中,X為16進制的字元。

對於英文來說,ascii碼 0-127就足以代碼所有字元,對於中文而言,則必須使用兩個位元組(byte)來代表一個字元,具第一個位元組必須大於127(所以我們有許程序判斷中文都是以ascii碼大於127作為條件)。以上用兩個位元組來表示一個中文的方式,在習慣上稱為雙位元組(即DBCS: Double-Byte Character Set),而相對之下,英文的字元碼就稱為單位元組SBCS(Single-Byte Character Set)。

雖然雙位元組(DBCS)足以解決中英文字元混合使用情況,但對於不同字元系統而言,必須經過字元碼轉換,非常麻煩。例如:中英文混合情況,日文,韓文等等。為解決這個問題,國際標准組織於1984年4月成立ISO/IEC JTC1/SC2/WG2工作組。針對各國文字、符號進行統一性編碼。1991年美國跨國公司成立Unicode Consortium。並於1991年10月與WG2達成協議。採用同一編碼字集。目前Unicode是採用16位編碼體系。其字元集內容與ISO10646的BMP(Basic Multilingual Plane)相同。Unicode於1992年6月通過DIS(Draf International Standard)。目前版本V2.0於1996公布。內容包含符號6811個。漢字20902個。韓文拼音11172個。造字區6400個。保留20249個。共計65534個。

隨著國際互聯網的迅速發展。要求進行數據交換的需求越來越大。不同的編碼體系越來越成為信息交換的障礙。而且多種語言共存的文檔不斷增多。單靠代碼頁已很難解決這些問題。於是UNICODE應運而生。

UNICODE有雙重含義。首先UNICODE是對國際標准ISO/IEC10646編碼的一種稱謂(ISO/IEC10646是一個國際標准。亦稱大字元集。它是ISO於1993年頒布的一項重要國際標准。其宗旨是全球所有文種統一編碼)。另外它又是由美國的HP、Microsoft、IBM、Apple等大企業組成的聯盟集團的名稱。成立該集團的宗旨就是要推進多文種的統一編碼。

UNICODE同現在流行的代碼頁最顯著不同點在於:UNICODE是兩位元組的全編碼。對於ASCII字元它也使用兩位元組表示。代碼頁是通過高位元組的取值范圍來確定是ASCII字元。還是漢字的高位元組。如果發生數據損壞。某處內容破壞。則會引起其後漢字的混亂。UNICODE則一律使用兩個位元組表示一個字元。最明顯的好處是它簡化了漢字的處理過程。

UNICODE使用平面來描述編碼空間。每個平面分為256行。256列。相對於兩位元組編碼的高低兩個位元組。

UNICODE的第一個平面。稱為Basic Multilingual Plane(基本多文種平面)。簡稱BMP。由於BMP僅用兩個位元組表示。所以倍受青睞。

Unicode的最初目標。是用1個16位的編碼來為超過65000字元提供映射。但這還不夠。它不能覆蓋全部歷史上的文字。也不能解決傳輸的問題(implantation head-ache's)。尤其在那些基於網路的應用中。因此。Unicode用一些基本的保留字元制定了三套編碼方式。它們分別是UTF-8,UTF-16和UTF-32。正如名字所示。在UTF-8中。字元是以8位序列來編碼的。用一個或幾個位元組來表示一個字元。這種方式的最大好處。是UTF-8保留了ASCII字元的編碼做為它的一部分。例如。在UTF-8和ASCII中。「A」的編碼都是0x41.UTF-16和UTF-32分別是Unicode的16位和32位編碼方式。考慮到最初的目的。通常說的Unicode就是指UTF-16。

多年來。計算機普遍採用美國信息交換標准代碼(American Standard Code for Information Interchange,簡稱ASCII碼)來表示字元。這些字元可以是字母。數字。標點符號和控制符。用這種編碼來表示英文在內的字元不成問題的。但要表示其它語言文字如。阿拉伯文。中文。日文。維文。哈文…必須進行擴充。在1987年。Xerox Palo Alto研究中心的Joe Becker和Lee Collins。以及Apple公司的Mark Davis試圖研究一種適用於多文種處理的字元編碼。這種編碼很快就得到了許多大公司的支持。這些公司都派代表參加Unicode研究組。Unicode的研究得到了較快的進展。由於Unicode集團的成員都是世界上的主要系統及軟體製造商。所以Unicode很快就成為事實上的工業標准。

基於Unicode的系統允許使用65000個不同的字元。足以善蓋世界所有語言的所有字母。外加數千種符號。

其中。General Scripts區單獨收錄了19種語言文字。包括ASCII,Latin1,Greek,Cyrillic,Armenian,Hedrew,Arabic,Devanagari,Bengali ,Gurmukhi,Gujarati,Oriya,Tamil,Telugu,Kannada,Malayalam,Thai,Lao,Tibetan,Georgian等語言文字之外。還包括漢語。日語和朝鮮語中的所有大量字元。

Unicode是一種定長的2B多文種字元集編碼。它試圖善蓋現有的有關國家和地區的標准。包括GB2312,CNS11643,JIS 0208和KSC 5601等。Unicode可以表示混合文字資料。也可以保證以前的ISO 10646。

Unicode的特點是:

不管哪一國的字元碼均以兩個Byte表示,例如"A"在Unicode則是16進制 41和00的組合,即4100,高位41(轉換為Ascii碼即是65=A),Windows NT/2000以Unicode來表示字元集,例如你可以看到MS SQL Server中產生的SQL文件可以選擇是以Unicode來保存還是以普通格式來保存,如果你以Unicode保存,則在95/98平台許多軟體均無法正確讀出其格式。

同時你還可以注意到95/98中API定義,許多名稱結尾是有一個A的,例如

WriteProfileStringA

而在NT/2000操作系統中,提供了兩套API,另外一個命令是WriteProfileStringW,以W 結尾的API只適用於NT / 2000。(在NT中使用以W結尾的API函數效率比A結尾的要快,因為省去了Unicode和DBCS/SBCS的轉換過程)

這樣我們經常要用到的判斷字元串長度的函數,在NT和95/98下執行結果不同,如下:(下面代碼適合於VB, ASP)

95/98中:

len("abc中國") 返回 7 (因為每個中文作為兩個Ascii碼來看)

NT/2000中:

len("abc中國") 返回 5 (因為每個字元都作為一個Unicode來看)

⑧ 什麼是UNICODE

Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案。Unicode用數字0-0x10FFFF來映射這些字元,最多可以容納1114112個字元,或者說有1114112個碼位。碼位就是可以分配給字元的數字。UTF-8、UTF-16、UTF-32都是將數字轉換到程序數據的編碼方案。
Unicode字元集可以簡寫為UCS(Unicode Character Set)。早期的Unicode標准有UCS-2、UCS-4的說法。UCS-2用兩個位元組編碼,UCS-4用4個位元組編碼。UCS-4根據最高位為0的最高位元組分成2^7=128個group。每個group再根據次高位元組分為256個平面(plane)。每個平面根據第3個位元組分為256行 (row),每行有256個碼位(cell)。group 0的平面0被稱作BMP(Basic Multilingual Plane)。將UCS-4的BMP去掉前面的兩個零位元組就得到了UCS-2。
每個平面有2^16=65536個碼位。Unicode計劃使用了17個平面,一共有17*65536=1114112個碼位。在Unicode 5.0.0版本中,已定義的碼位只有238605個,分布在平面0、平面1、平面2、平面14、平面15、平面16。其中平面15和平面16上只是定義了兩個各佔65534個碼位的專用區(Private Use Area),分別是0xF0000-0xFFFFD和0x100000-0x10FFFD。所謂專用區,就是保留給大家放自定義字元的區域,可以簡寫為PUA。
平面0也有一個專用區:0xE000-0xF8FF,有6400個碼位。平面0的0xD800-0xDFFF,共2048個碼位,是一個被稱作代理區(Surrogate)的特殊區域。代理區的目的用兩個UTF-16字元表示BMP以外的字元。在介紹UTF-16編碼時會介紹。
如前所述在Unicode 5.0.0版本中,238605-65534*2-6400-2408=99089。餘下的99089個已定義碼位分布在平面0、平面1、平面2和平面14上,它們對應著Unicode目前定義的99089個字元,其中包括71226個漢字。平面0、平面1、平面2和平面14上分別定義了52080、3419、43253和337個字元。平面2的43253個字元都是漢字。平面0上定義了27973個漢字。

⑨ 什麼是Unicode

對於英文來說,ascii碼0-127就足以代碼所有字元,對於中文而言,則必須使用兩個位元組(byte)來代表一個字元,具第一個位元組必須大於127(所以我們有許程序判斷中文都是以ascii碼大於127作為條件)
以上用兩個位元組來表示一個中文的方式,在習慣上稱為雙位元組(即DBCS:Double-ByteCharacterSet),而相對之下,英文的字元碼就稱為單位元組SBCS(Single-ByteCharacterSet)。
雖然雙位元組(DBCS)足以解決中英文字元混合使用情況,但對於不同字元系統而言,必須經過字元碼轉換,非常麻煩。例如:中英文混合情況,日文,韓文等等。
為解決這個問題,Apple,Xerox,Microsoft,IBM,Novell,Borland...很多公司聯合起來制訂了一套可以適用於全世界所有國家的字元碼,就稱為Unicode
Unicode的特點是:
不管哪一國的字元碼均以兩個Byte表示,例如"A"在Unicode則是16進制41和00的組合,即4100,高位41(轉換為Ascii碼即是65=A),
WindowsNT/2000以Unicode來表示字元集,例如你可以看到MSSQLServer中產生的SQL文件可以選擇是以Unicode來保存還是以普通格式來保存,如果你以Unicode保存,則在95/98平台許多軟體均無法正確讀出其格式。
同時你還可以注意到95/98中API定義,許多名稱結尾是有一個A的,例如
WriteProfileStringA
而在NT/2000操作系統中,提供了兩套API,另外一個命令是WriteProfileStringW,以W結尾的API只適用於NT/2000。(在NT中使用以W結尾的API函數效率比A結尾的要快,因為省去了Unicode和DBCS/SBCS的轉換過程)

這樣我們經常要用到的判斷字元串長度的函數,在NT和95/98下執行結果不同,如下:(下面代碼適合於VB,ASP)

95/98中:
len("abc中國")返回7(因為每個中文作為兩個Ascii碼來看)

nt/2000中:
len("abc中國")返回5(因為每個字元都作為一個Unicode來看)

明天將介紹如何在VB/NT環境下使len("abc中國")返回長度等於7

(PB不存在以上情況,除非你在NT下使用PB的Unicode版本,通常我們大家使用的均是PB的Windows32位版本)

閱讀全文

與unicode是什麼相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:740
乙酸乙酯化學式怎麼算 瀏覽:1406
沈陽初中的數學是什麼版本的 瀏覽:1353
華為手機家人共享如何查看地理位置 瀏覽:1045
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:886
數學c什麼意思是什麼意思是什麼 瀏覽:1411
中考初中地理如何補 瀏覽:1300
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:703
數學奧數卡怎麼辦 瀏覽:1388
如何回答地理是什麼 瀏覽:1025
win7如何刪除電腦文件瀏覽歷史 瀏覽:1058
大學物理實驗干什麼用的到 瀏覽:1487
二年級上冊數學框框怎麼填 瀏覽:1701
西安瑞禧生物科技有限公司怎麼樣 瀏覽:976
武大的分析化學怎麼樣 瀏覽:1250
ige電化學發光偏高怎麼辦 瀏覽:1339
學而思初中英語和語文怎麼樣 瀏覽:1653
下列哪個水飛薊素化學結構 瀏覽:1425
化學理學哪些專業好 瀏覽:1488
數學中的棱的意思是什麼 瀏覽:1059