乙個字元等於幾個位元組 什麼是utf8?

2021-09-22 12:23:31 字數 882 閱讀 8514

不同的字元所佔的位元組是不同的。

ascii碼:

乙個英文本母(不分大小寫)佔乙個位元組的空間,乙個中文漢字佔兩個位元組的空間。乙個二進位制數字序列,在計算機中作為乙個數字單元,一般為8位二進位制數,換算為十進位制。最小值0,最大值255。如乙個ascii碼就是乙個位元組。

utf-8編碼:

乙個英文本元等於乙個位元組,乙個中文(含繁體)等於三個位元組。

unicode編碼:

乙個英文等於兩個位元組,乙個中文(含繁體)等於兩個位元組。

那麼什麼是編碼?什麼是utf-8?

由於計算機使用0和1來儲存文字。比如字元「c」被存成「01000011」,那麼計算機在顯示這個字元時需要經過兩個步驟:

計算機讀取「01000011」,得到數字67,因為67被編碼成「01000011」。

計算機在unicode字符集中查詢67,找到了「c」。

同樣的:

我的電腦將「c」對映成unicode字符集中的67。

我的電腦將67編碼成「01000011」,並傳送給web伺服器。

幾乎所有的網路應用都使用了unicode字符集,因為沒有理由使用其他字符集。

unicode字符集包含了上百萬個字元。最簡單的編碼是utf-32,每個字元使用32位。這樣做最簡單,因為一直以來,計算機將32位視為數字,而計算機最在行的就是處理數字。但問題是,這樣太浪費空間了。

utf-8可以節省空間,在utf-8中,字元「c」只需要8位,一些不常用的字元,比如「」需要32位。其他的字元可能使用16位或24位。一篇類似本文這樣的文章,如果使用utf-8編碼,占用的空間只有utf-32的四分之一左右。

utf 8的中文,乙個字元佔幾個位元組

英文本母和中文漢字在不同字符集編碼下的位元組數 英文本母 位元組數 1 編碼 gb2312 位元組數 1 編碼 gbk 位元組數 1 編碼 gb18030 位元組數 1 編碼 iso 8859 1 位元組數 1 編碼 utf 8 位元組數 4 編碼 utf 16 位元組數 2 編碼 utf 16be...

utf 8的中文,乙個字元佔幾個位元組

英文本母和中文漢字在不同字符集編碼下的位元組數 英文本母 位元組數 1 編碼 gb2312 位元組數 1 編碼 gbk 位元組數 1 編碼 gb18030 位元組數 1 編碼 iso 8859 1 位元組數 1 編碼 utf 8 位元組數 4 編碼 utf 16 位元組數 2 編碼 utf 16be...

等等是乙個字元

在使用字串的過程中,我們經常會用到轉義字元,如 等等。對字串中的轉義字元進行操作時,有可能會誤認為這是兩個字元,需要我們根據轉義的定義,將這兩個字元轉換為乙個字元。其實完全不需要,因為對字串進行操作時,計算機自動地將它們識別為乙個字元。include stdio.h int my print str...