1. 程式人生 > >字節,字符及占用內存大小情況

字節,字符及占用內存大小情況

name 進制數 baidu 關系 vps 大小 art amp -c

https://blog.csdn.net/liwenxia626/article/details/70808958

(一)“字節”的定義

字節(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

字節,字符及占用內存大小情況