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