unicode字符集是幾個位元組表示字元 為什麼需要utf

2023-01-09 18:16:15 字數 3139 閱讀 5763

1樓:匿名使用者

一到四個位元組表示一個字元,utf-8是一到兩個位元組,為了顯示亞洲的等字元,比如中文,日文,所以要用unicode,utf-8是unicode的一種

2樓:匿名使用者

utf-8, 都是由 1~4 位元組組成的, 至於是多少位元組, 是根據第一個位元組的內容判斷的。

unicode 是一個超集, 內包含 utf-8, utf-16, utf-32, utf-8 最少 1 位元組, utf-16最少 2 位元組, 如此類推。 全英文環境上,utf-8 的優勢是位元組少, 相對傳送效率高。

至於 vc++ unicode 程式設計, 類如 cstring 等規定是 2 位元組 16-bit 組成, 個人認為是一種誤導與錯誤概念。 只不過微軟公司 windows 獨大, 可以自己歪曲標準, 這也是沒有辦法, 真有委屈承受, 或是改用 linux。

3樓:麥淑敏達水

unicode用4個位元組,數字0-0x10ffff來對映字元,有1114112個碼位。碼位就是可以分配給字元的數字。全世界的字元加起來也用不了所有的碼位。

unicode字符集採用幾個位元組來表示一個字元?

4樓:匿名使用者

unicode 是有兩個位元組、四位元組之區分,ucs-4用4個位元組編碼,可表示2的32次方,即4294967296種字元。

unicode(統一碼、萬國碼、單一碼)是電腦科學領域裡的一項業界標準,包括字符集、編碼方案等。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位制編碼,以滿足跨語言、跨平臺進行文字轉換、處理的要求。

通用字符集(universal character set, ucs)是由iso制定的iso 10646(或稱iso/iec 10646)標準所定義的標準字符集。ucs-2用兩個位元組編碼,ucs-4用4個位元組編碼。

5樓:簡波佘憶文

一到四個位元組表示一個字元,utf-8是一到兩個位元組,為了顯示亞洲的等字元,比如中文,日文,所以要用unicode,utf-8是unicode的一種

unicode,ascii,utf-16,utf-8各需要幾個bit表一個字元?

1字元等於多少位元組

6樓:傅立葉學長

不同編碼裡,字元和位元組的對應關係不同,與編碼方式有關。

常見的編碼字元與位元組的對應關係如下:

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

2、utf-8編碼中,一個英文字元等於一個位元組,一箇中文(含繁體)等於三個位元組。

3、unicode編碼中,一個英文等於兩個位元組,一箇中文(含繁體)等於兩個位元組。

符號:英文標點佔一個位元組,中文標點佔兩個位元組。舉例:英文句號「.」佔1個位元組的大小,中文句號「。」佔2個位元組的大小。

4、gbk編碼方式是中文佔兩個位元組,英文佔1個位元組。

7樓:匿名使用者

如果是ascii的字元,編碼是1個位元組長

如果是unicode的字符集,

unicode目前普遍採用的是ucs-2,用兩個位元組來編碼一個字元;如果是unicode的ucs-4規範,就用 4個位元組來編碼一個字元。

所以,這個問題視你使用的字符集而異。

請解釋一下unicode,utf-8,gb2312這些編碼的含義

8樓:匿名使用者

字符集與編碼 各個國家和地區所制定的不同 ansi 編碼標準中,都只規定了各自語言所需的「字元」。比如: 漢字標準(gb2312)中沒有規定韓國語字元怎樣儲存。

這些 ansi 編碼標準所規定的內容包含兩層含義: 1. 使用哪些字元。

也就是說哪些漢字,字母和符號會被收入標準中。 所包含「字元」的集合就叫做「字符集」。 2.

規定每個「字元」分別用一個位元組還是多個位元組儲存, 用哪些位元組來儲存,這個規定就叫做「編碼」。 各個國家和地區在制定編碼標準的時候,「字元的集合」和「編碼」 一般都是同時制定的。因此,平常我們所說的「字符集」,比如:

gb2312, gbk, jis 等,除了有「字元的集合」這層含義外,同時也包含了「編碼」 的含義。 「unicode 字符集」包含了各種語言中使用到的所有「字元」。用來給 unicode 字符集編碼的標準有很多種,比如:

utf-8, utf-7, utf-16, unicodelittle, unicodebig 等。 1、iso-8859-1: 最簡單的編碼規則,每一個位元組直接作為一個 unicode 字元。

比如,[0xd6, 0xd0] 這兩個位元組,通過 iso-8859-1 轉化為字串時,將直接得到 [0x00d6, 0x00d0] 兩個 unicode 字元,即 ""。 反之,將 unicode 字串通過 iso-8859-1 轉化為位元組串時,只能正常轉化 0~255 範圍的字元。 2、gb2312,big5,shift_jis,iso- 8859-2 把unicode 字串通過 ansi 編碼轉化為「位元組串」時,根據各自編碼的規定,一個 unicode 字元可能轉化成一個位元組或多個位元組。

反之,將位元組串轉化成字串時,也可能多個位元組轉化成一個字元。 比如,[0xd6, 0xd0] 這兩個位元組,通過 gb2312 轉化為字串時,將得到 [0x4e2d] 一個字元,即 '中' 字。 「ansi 編碼」的特點:

1. 這些「ansi 編碼標準」都只能處理各自語言範圍之內的 unicode 字元。 2.

「unicode 字元」與「轉換出來的位元組」之間的關係是人為規定的。 3、utf-8,utf-16,unicodebig 與「ansi 編碼」類似的,把字串通過 unicode 編碼轉化成「位元組串」時,一個 unicode 字元可能轉化成一個位元組或多個位元組。 與「ansi 編碼」不同的是:

1. 這些「unicode 編碼」能夠處理所有的 unicode 字元。 2.

「unicode 字元」與「轉換出來的位元組」之間是可以通過計算得到的。 不知道我講的清不清楚。祝你成功。

漢字佔用幾個位元組,一個漢字佔用幾個位元組?

一個漢字 2位元組 中文標點佔三個位元組,一個英文字母佔一個位元組,英文標點佔一個位元組。位元組的換算關係為 1位元組 byte 8字位 8個二進位制數 1字位 bit 1個二進位制數 1b 8b 1kb 1024b 1mb 1024kb 1gb 1024mb b稱為字位 b稱為位元組 kb稱為千位...

字佔幾個位元組?位元組是什麼一個字佔幾個位元組?位元組是什麼?

ascii碼 一個英文字母 不分大小寫 佔一個位元組的空間,一位元組 byte 是計算機資訊科技用於計量儲存容量和傳輸容量的一種計量單位,1個位元組等於8位二進位制。在微型計算機中,通常用多少位元組來表示儲存器的儲存容量。1箇中文漢字佔兩個位元組的空間。一個二進位制數字序列,在計算機中作為一個數字單...

int float char分別佔幾個位元組

int型別復佔用4位元組記憶體,表示整數,數 制據範圍在 2 31 2 31 1 2147483648 2147483647 之間。float型別佔用4位元組記憶體,表示小數,資料範圍在 2 128 2 128 3.40e 38 3.40e 38 之間。char型別佔用1位元組記憶體,表示字元,資料...