對(duì)照表怎么做 Unicode和ASCII的區(qū)別是什么?
Unicode和ASCII的區(qū)別是什么?ASCII是對(duì)26個(gè)英文字母和一些常用符號(hào)進(jìn)行編碼,然后擴(kuò)展一半??傊且粋€(gè)字節(jié)用于編碼,大于128的部分是一些特殊符號(hào)。但是ASCII不能編碼其他任何東西
Unicode和ASCII的區(qū)別是什么?
ASCII是對(duì)26個(gè)英文字母和一些常用符號(hào)進(jìn)行編碼,然后擴(kuò)展一半??傊且粋€(gè)字節(jié)用于編碼,大于128的部分是一些特殊符號(hào)。但是ASCII不能編碼其他任何東西。例如,沒(méi)有說(shuō)“中國(guó)ASCII碼需要2個(gè)字符”。ASCII只有一個(gè)字節(jié)。Unicode足以編碼地球上所有的語(yǔ)言,因此它包括所有可以用ASCII表示的語(yǔ)言。Unicode本身只有兩個(gè)字節(jié)。UTF-8、UTF-16等的出現(xiàn)是為了根據(jù)不同的應(yīng)用環(huán)境提高整體編碼效率。例如,如果一篇文章的大部分是英文的(可以用一個(gè)字節(jié)來(lái)表示),UTF-8更合適。如果文章大部分是中文(需要雙字節(jié)),utf-16可能更適合計(jì)算機(jī)發(fā)明后,為了在計(jì)算機(jī)中表達(dá)字符,人們開(kāi)發(fā)了一種稱為ASCII碼的代碼。ASCII碼由一個(gè)字節(jié)中的7位表示,范圍從0x00到0x7F,總共128個(gè)字符。然后他們突然發(fā)現(xiàn),如果需要以表格形式打印這些字符,就缺少“制表符”。因此,ASCII的定義被擴(kuò)展為使用一個(gè)字節(jié)的所有8位來(lái)表示字符,這被稱為擴(kuò)展ASCII碼。范圍為0x00-0xff,共256個(gè)字符。中國(guó)人用兩個(gè)連續(xù)的擴(kuò)展ASCII區(qū)域(0xa0之后)來(lái)表示一個(gè)漢字。本方法的標(biāo)準(zhǔn)為gb-2312。后來(lái),日本,韓國(guó),阿拉伯,臺(tái)灣傳統(tǒng)(大5)。。。它們都采用相似的方法來(lái)擴(kuò)展局部字符集的定義,現(xiàn)在統(tǒng)一為MBCs字符集(multi-byte character set)。這種方法存在缺陷,因?yàn)椴煌瑖?guó)家和地區(qū)定義的字符集有交集,所以使用gb-2312軟件,不能在Big-5環(huán)境下運(yùn)行(顯示亂碼),反之亦然。為了對(duì)全世界人民的所有字符進(jìn)行編碼,人們建立了Unicode標(biāo)準(zhǔn)字符集。Unicode使用兩個(gè)字節(jié)來(lái)表示一個(gè)字符(unsigned shot int、wcharwcharuut、OLECHAR)。最后,世界上任何一個(gè)地區(qū)的軟件都可以在另一個(gè)地區(qū)運(yùn)行,而無(wú)需修改。雖然我用IE瀏覽日文網(wǎng)站,但它顯示了我不認(rèn)識(shí)的日文字符,但至少不會(huì)被亂碼。Unicode的范圍從0x0000到0xFFFF,總共有6萬(wàn)多個(gè)字符,其中僅漢字就占了4萬(wàn)多個(gè)
ASCII是一種古老的代碼。當(dāng)時(shí),字符集和代碼沒(méi)有區(qū)別,可以看作是兩者的結(jié)合。
嚴(yán)格來(lái)說(shuō),Unicode是一個(gè)字符集,可以通過(guò)多種方式進(jìn)行編碼。UTF-8是一種Unicode編碼。我記得,兼容性最好的是沒(méi)有BOM頭的UTF-8。注:字符集是字符集,它包含一定數(shù)量的字符。每個(gè)字符都有一個(gè)對(duì)應(yīng)的ID值,稱為代碼點(diǎn)。在實(shí)際存儲(chǔ)中,不需要直接存儲(chǔ)字符串的代碼點(diǎn)(例如,為了節(jié)省空間),因此需要對(duì)其進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換規(guī)則是編碼。