當前位置:成語大全網 - 新華字典 - 請問utf-8中文是三字節長的漢字嗎?

請問utf-8中文是三字節長的漢字嗎?

這是壹個很好的問題,可以作為筆試。先說字符編碼。1,美國人首先對自己的英文字符進行編碼,這是最早的ascii碼。壹個字節的低7位代表128個英文字符,高1位統壹為0;2.後來歐洲人發現尼瑪的128就夠了。例如,我那封高貴的法國信上面有壹個便條。這個怎麽區分?好吧,我們把高的1放進去,這樣歐洲壹般用壹個全字節來編碼,最多可以代表256位。歐美人就是喜歡直來直去,字符少,編碼位數少;3.但是,即使位數很少,不同的國家和地區用不同的字符編碼。雖然0-127所代表的符號是相同的,但是對128-255這壹段的解釋卻是完全混亂的。即使二進制完全相同,表示的字符也完全不同。比如135在法語、希伯來語、俄語編碼中完全不同。4.更麻煩的是,尼瑪這種高科技電腦傳到中國後,中國的人發現我們有65438+萬多漢字,而妳們歐美的256個字還不夠。於是我們發明了GB2312的漢字編碼。通常用兩個字節來表示最常用的漢字,最多可以表示65536個漢字。所以也就不難理解了,有些漢字在新華字典裏是可以找到的,但是妳不處理就無法在電腦上顯示出來。5.當每個人都用自己的字符集編碼時,世界怎麽能統壹呢?俄羅斯人給中國人發郵件,兩邊字符集編碼不壹樣,尼瑪的顯示全是亂碼。為了統壹,發明了unicode,它包含了世界上所有的符號,每個符號都被賦予了唯壹的代碼。現在unicode可以容納1萬多個符號,每個符號的代碼都不壹樣。現在可以統壹,各種語言可以互通,壹個網頁可以同時顯示各個國家的文字。6.但是,unicode雖然統壹了全世界字符的二進制編碼,但是並沒有規定如何存儲,親愛的。x86和amd架構的電腦都分不清小端和大端,更別說電腦怎麽分辨是unicode還是acsii了。如果Unicode統壹規定每個符號用三個或四個字節表示,那麽每個英文字母前必須有兩三個字節是零,文本文件的大小就會大兩三倍,對於存儲來說是極大的浪費。這就導致了壹個後果:Unicode有很多種存儲方式。7、互聯網的興起,要在網頁上顯示各種字符,必須統壹,親愛的。Utf-8是Unicode最重要的實現之壹。還有utf-16,utf-32等等。UTF-8不是固定字長編碼,而是壹種變長編碼方法。它可以用1~4個字節來表示壹個符號,字節長度根據符號的不同而不同。這是壹個巧妙的設計,如果壹個字節的第壹位是0,那麽這個字節就是壹個單獨的字符;如果第壹位是1,那麽連續多少個1就意味著當前字符占用了多少字節。8.請註意,unicode的字符編碼不同於utf-8的存儲編碼。例如,“Yan”的Unicode編碼是4E25,8編碼是E4B8A5,這在7中有解釋。UTF-8編碼不僅考慮編碼,還考慮存儲。E4B8A5在存儲標識編碼的基礎上插入4E25。9.UTF-8使用壹到四個字節來編碼每個字符。128 ASCII字符(Unicode範圍從U+0000到U+007F)只需要壹個字節,帶有變音符號的拉丁語、希臘語、西裏爾語、亞美尼亞語、希伯來語、阿拉伯語、敘利亞語和馬爾代夫語(Unicode範圍從U+0080到U+07FF)需要兩個字節。其他基本多語言平面(BMP) (CJK屬於此類——切切註)中的字符使用三字節,其他Unicode輔助平面中的字符使用四字節編碼。10.最後回答妳的問題,壹般來說,漢字在utf-8中占多少字節,壹般是三個字節。最常見的編碼方式是1110 xxxxx 10 xxxxx。