php 字元和位元組

2021-07-05 03:56:18 字數 1173 閱讀 6318

字元的簡介:

在js中,中文佔兩個字元,英文佔乙個字元;

在php中,不同編碼下不相同,在gbk/gb2312編碼下乙個中文佔2個字元,utf-8/unicode編碼下乙個中文佔3個字元;

php在utf-8編碼下,乙個漢字佔3個位元組,gbk編碼下只佔2個位元組。

zìfú

字元是可使用多種不同字元方案或**頁來表示的抽象實體。例如,unicode utf-16 編碼將字元表示為 16 位整數序列,而 unicode utf-8 編碼則將相同的字元表示為 8 位位元組序列。公共語言執行庫使用 unicode utf-16(unicode 轉換格式,16 位編碼形式)表示字元。

針對公共語言執行庫的應用程式使用編碼將字元表式形式從本機字元方案對映至其他方案。應用程式使用解碼將字元從非本機方案對映至本機方案。

zìjié

位元組(byte):位元組是通過網路傳輸資訊(或在硬碟或記憶體中儲存資訊)的單位。

乙個英文本母(不分大小寫)佔乙個位元組的空間,乙個中文漢字佔兩個位元組的空間.

符號:英文標點佔乙個位元組,中文標點佔兩個位元組.

乙個二進位制數字序列,在計算機中作為乙個數字單元,一般為8位二進位制數,如乙個ascii碼就是乙個位元組,此類單位的換算為:

理解編碼的關鍵,是要把字元的概念和位元組的概念理解準確。這兩個概念容易混淆,我們在此做一下區分:

概念描述 舉例

字元 人們使用的記號,抽象意義上的乙個符號。 '1', '中', 'a', '$', '¥', ……

位元組 計算機中儲存資料的單元,乙個8位的二進位制數,是乙個很具體的儲存空間。 0x01, 0x45, 0xfa, ……

ansi

字串 在記憶體中,如果「字元」是以 ansi 編碼形式存在的,乙個字元可能使用乙個位元組或多個位元組來表示,那麼我們稱這種字串為 ansi 字串或者多位元組字串。 "中文123"

(佔7位元組)

unicode

字串 在記憶體中,如果「字元」是以在 unicode 中的序號存在的,那麼我們稱這種字串為 unicode 字串或者寬位元組字串。 l"中文123"

(佔10位元組)

由於不同 ansi 編碼所規定的標準是不相同的,因此,對於乙個給定的多位元組字串,我們必須知道它採用的是哪一種編碼規則,才能夠知道它包含了哪些「字元」。而對於 unicode 字串來說,不管在什麼環境下,它所代表的「字元」內容總是不變的.

字元和位元組

一 位元組 的定義 位元組 byte 是一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。二 字元 的定義 字元是指計算機中使用的文字和符號,比如1 2 3 a b c 等等。三 位元組 與 字元 它們完全不是乙個位面的概念,所以兩者之間沒有 區別 這個說法。不同編碼裡...

字元和位元組

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

位元組和字元關係

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