位元組,字元及占用記憶體大小情況

2021-07-31 05:22:12 字數 1255 閱讀 8308

(一)「位元組」的定義

位元組(byte)是一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。

(二)「字元」的定義

字元是指計算機中使用的文字和符號,比如1、2、3、a、b、c、~!·#¥%……—*()——+、等等。

(三)「位元組」與「字元」

它們完全不是乙個位面的概念,所以兩者之間沒有「區別」這個說法。不同編碼裡,字元和位元組的對應關係不同:

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

utf-8編碼中,乙個英文本元等於乙個位元組,乙個中文(含繁體)等於三個位元組。

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

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

utf-16編碼中,乙個英文本母字元或乙個漢字字元儲存都需要2個位元組(unicode擴充套件區的一些漢字儲存需要4個位元組)。

utf-32編碼中,世界上任何字元的儲存都需要4個位元組。

位元組 (byte):8個二進位制位為乙個位元組(b),最常用的單位。計算機儲存單位一般用b,kb,mb,gb,tb,pb,eb,zb,yb,bb來表示,它們之間的關係是:

1b(byte位元組)=8bit

1kb (kilobyte 千位元組)=1024b,

1mb (mega byte 兆位元組 簡稱「兆」)=1024kb,

1gb (giga byte 吉位元組 又稱「千兆」)=1024mb,

1tb (tera byte 萬億位元組 太位元組)=1024gb,其中1024=2^10 ( 2 的10次方)

用乙個txt文件做實驗

1000個漢字---utf-8編碼格式---占用2.95k,接近3k。這是因為utf-8編碼格式下1000個字元佔3000位元組,相當於3000b,接近3k。

---asci編碼格式下,2k

---unicode編碼格式下,2k

Redis占用記憶體大小

redis占用記憶體大小 我們知道redis是基於記憶體的key value資料庫,因為系統的記憶體大小有限,所以我們在使用redis的時候可以配置redis能使用的最大的記憶體大小。1 通過配置檔案配置 通過在redis安裝目錄下面的redis.conf配置檔案中新增以下配置設定記憶體大小。設定r...

類的占用記憶體大小

1.類的大小為類的非靜態成員資料的型別大小之和,也 就是說靜態成員資料不作考慮。2.普通成員函式與sizeof無關。3.靜態成員並不屬於某個物件,sizeof取的是物件大小。4.虛函式由於要維護在虛函式表,所以要佔據乙個指標大小,也就是4位元組。5.空類的sizeof為1。因為乙個空類也要例項化,所...

c 類占用記憶體大小計算

c 類所佔記憶體大小計算 說明 筆者的作業系統是32位的。class a sizeof a sizeof a 1 明明是空類,為什麼編譯器說它是1呢?空類同樣可以例項化,每個例項在記憶體中都有乙個獨一無二的位址,為了達到這個目的,編譯器往往會給乙個空類隱含的加乙個位元組,這樣空類在例項化後在記憶體得...