python基礎(chǔ)教程 Unicode和ASCII的區(qū)別是什么?
Unicode和ASCII的區(qū)別是什么?ASCII就是編碼英文的26個(gè)字母和一些常見的符號(hào),之后擴(kuò)展了一半。總之是一個(gè)字節(jié)來做編碼,大于128的部分是一些特殊符號(hào)。但ASCII是無法編碼別的東西的,比
Unicode和ASCII的區(qū)別是什么?
ASCII就是編碼英文的26個(gè)字母和一些常見的符號(hào),之后擴(kuò)展了一半。總之是一個(gè)字節(jié)來做編碼,大于128的部分是一些特殊符號(hào)。但ASCII是無法編碼別的東西的,比如說是不存在“中文的ascii碼需要2個(gè)字符”這種說法的。ASCII就只有一個(gè)字節(jié)。 Unicode是足夠編碼地球上所有的語言了,所以ASCII中所能表示的,Unicode當(dāng)然全部包括了。Unicode本身是只有2個(gè)字節(jié)的,之所以出現(xiàn)UTF-8,UTF-16等等之類,那是為了針對(duì)不同的應(yīng)用環(huán)境,提高整體編碼效率,比如如果某篇文章里絕大部分是英語(單字節(jié)就能表示),就比較適合使用utf-8,而如果絕大部分是中文(需要雙字節(jié)),可能就utf-16比較合適了 COPY的,不過也是正確的,當(dāng)然是UNICODE普遍. 一般手機(jī)的電子書只能是UNCODE編碼的TXT
關(guān)于unicode和ascii的區(qū)別?
計(jì)算機(jī)發(fā)明后,為了在計(jì)算機(jī)中表示字符,人們制定了一種編碼,叫ASCII碼。ASCII碼由一個(gè)字節(jié)中的7位(bit)表示,范圍是0x00 - 0x7F 共128個(gè)字符。 后來他們突然發(fā)現(xiàn),如果需要按照表格方式打印這些字符的時(shí)候,缺少了“制表符”。于是又?jǐn)U展了ASCII的定義,使用一個(gè)字節(jié)的全部8位(bit)來表示字符了,這就叫擴(kuò)展ASCII碼。范圍是0x00 - 0xFF 共256個(gè)字符。 中國人利用連續(xù)2個(gè)擴(kuò)展ASCII碼的擴(kuò)展區(qū)域(0xA0以后)來表示一個(gè)漢字,該方法的標(biāo)準(zhǔn)叫GB-2312。后來,日文、韓文、阿拉伯文、臺(tái)灣繁體(BIG-5)......都使用類似的方法擴(kuò)展了本地字符集的定義,現(xiàn)在統(tǒng)一稱為 MBCS 字符集(多字節(jié)字符集)。這個(gè)方法是有缺陷的,因?yàn)楦鱾€(gè)國家地區(qū)定義的字符集有交集,因此使用GB-2312的軟件,就不能在BIG-5的環(huán)境下運(yùn)行(顯示亂碼),反之亦然。 為了把全世界人民所有的所有的文字符號(hào)都統(tǒng)一進(jìn)行編碼,于是制定了UNICODE標(biāo)準(zhǔn)字符集。UNICODE 使用2個(gè)字節(jié)表示一個(gè)字符(unsigned shor int、WCHAR、_wchar_t、OLECHAR)。這下終于好啦,全世界任何一個(gè)地區(qū)的軟件,可以不用修改地就能在另一個(gè)地區(qū)運(yùn)行了。雖然我用 IE 瀏覽日本網(wǎng)站,顯示出我不認(rèn)識(shí)的日文文字,但至少不會(huì)是亂碼了。UNICODE 的范圍是 0x0000 - 0xFFFF 共6萬多個(gè)字符,其中光漢字就占用了4萬多個(gè)
字符編碼中ASCII,Unicode和UTF-8的區(qū)別?
ASCII是古老的編碼,那個(gè)時(shí)候還不區(qū)分字符集和編碼,基本可以看作合二為一的東西。
Unicode嚴(yán)格來說是字符集,可以有多種編碼。UTF-8是一種Unicode的編碼。兼容性最好的,我記得好像是UTF-8不帶BOM頭。注: 字符集(char set)就是字符的集合,收錄了一定數(shù)量的字符。每個(gè)字符有對(duì)應(yīng)的ID值,叫碼點(diǎn)(code point)。實(shí)際存儲(chǔ)的時(shí)候,不一定是直接存儲(chǔ)字符串的碼點(diǎn)(比如,為了節(jié)約空間),要進(jìn)行轉(zhuǎn)換。這個(gè)轉(zhuǎn)換規(guī)則就是編碼。unicode和ascii字符編碼的區(qū)別?
ASCII就是編碼英文的26個(gè)字母和一些常見的符號(hào),之后擴(kuò)展了一半??傊且粋€(gè)字節(jié)來做編碼,大于128的部分是一些特殊符號(hào)。但ASCII是無法編碼別的東西的,比如說是不存在“中文的ascii碼需要2個(gè)字符”這種說法的。ASCII就只有一個(gè)字節(jié)。 Unicode是足夠編碼地球上所有的語言了,所以ASCII中所能表示的,Unicode當(dāng)然全部包括了。Unicode本身是只有2個(gè)字節(jié)的,之所以出現(xiàn)UTF-8,UTF-16等等之類,那是為了針對(duì)不同的應(yīng)用環(huán)境,提高整體編碼效率,比如如果某篇文章里絕大部分是英語(單字節(jié)就能表示),就比較適合使用utf-8,而如果絕大部分是中文(需要雙字節(jié)),可能就utf-16比較合適了COPY的,不過也是正確的,當(dāng)然是UNICODE普遍.一般手機(jī)的電子書只能是UNCODE編碼的TXT