天天看點

字元與位元組有什麼差別呢?

1、計算機存儲資訊的最小機關,稱之為位(bit),音譯為比特,二進制的一個“0”或一個“1”叫一位。

2、計算機存儲容量基本機關是位元組(Byte),音譯為拜特,8個二進制位組成1個位元組。一般而言:一個标準英文字母占一個位元組位置,一個标準漢字占二個位元組位置。

3、計算機存儲容量大小以位元組數來度量,1024進位制:

  1024B=1K(千)B

  1024KB=1M(兆)B

  1024MB=1G(吉)B

  1024GB=1T(太)B

  以下還有PB、EB、ZB、YB 、NB、DB,一般人不常使用了。

4、字元是一種符号,同以上說的存儲機關不是一回事。

=============================================================================

1個位元組等于8個bit位,每個bit位又0/1兩種狀态,也就是說一個位元組可以表示256個狀态,計算機裡用位元組來作為最基本的存儲機關。

一般來說,英文狀态下一個字母或數字(稱之為字元)占用一個位元組,一個漢字用兩個位元組表示。在不同的編碼方式下一個字元占的位元組不太一樣。

按照ANSI編碼标準,标點符号、數字、大小寫字母都占一個位元組,漢字占2個位元組。按照UNICODE标準所有字元都占2個位元組。

(一)“位元組”的定義

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

(二)“字元”的定義

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

(三)“位元組”與“字元”的差別

它們完全不是一個位面的概念,是以兩者之間沒有“差別”這個說法。

不同編碼裡,字元和位元組的對應關系不同:

①ASCII碼中:一個英文字母(不分大小寫)占一個位元組的空間,一個中文漢字占兩個位元組的空間。

一個二進制數字序列,在計算機中作為一個數字單元,一般為8位二進制數,換算為十進制。最小值0,最大值255。

②UTF-8編碼中:一個英文字元等于一個位元組,一個中文(含繁體)等于三個位元組。

③Unicode編碼中:一個英文字元等于兩個位元組,一個中文(含繁體)等于兩個位元組。

      符号:英文标點占一個位元組;中文标點占兩個位元組。

      舉例:英文句号“.”占1個位元組的大小;中文句号“。”占2個位元組的大小。

④UTF-16編碼中:一個英文字母字元或一個漢字字元存儲都需要2個位元組(Unicode擴充區的一些漢字存儲需要4個位元組)。

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

我的GitHub位址:

https://github.com/heizemingjun

我的部落格園位址:

http://www.cnblogs.com/chenmingjun

我的螞蟻筆記部落格位址:

http://blog.leanote.com/chenmingjun

Copyright ©2018 黑澤明軍

【轉載文章務必保留出處和署名,謝謝!】