1個字節(Byte)=8位 bit
1位就是計算機中的 1 或0
比如10進制1 ,ASCII碼是49,二機制是: 00110001
它佔用一個字節。
ASCII碼:一個英文字母(不分大小寫)佔一個字節的空間,一箇中文漢字佔兩個字節的空間。一個二進制數字序列,在計算機中作爲一個數字單元,一般爲8位二進制數,換算爲十進制。最小值0,最大值255。如一個ASCII碼就是一個字節。
UTF-8編碼:一個英文字符等於一個字節,一箇中文(含繁體)等於三個字節。
Unicode編碼:Unicode是一種編碼規範,是爲解決全球字符通用編碼而設計的,而UTF-8,UTF-16等是這種規範的一種實現,它是接口,UTF-8和UTF-16是實現類.
GBK編碼:一個英文等於一個字節,一箇中文(含繁體)等於兩個字節。
GB2312編碼:一個英文等於一個字節,一箇中文(含繁體)等於兩個字節。
符號:英文標點佔一個字節,中文標點佔兩個字節。舉例:英文句號“.”佔1個字節的大小,中文句號“。”佔2個字節的大小。
上代碼++++>>>
public static void main(String[] args) { try { String str = "1"; byte[] defaultByte = str.getBytes(); byte[] utf8Byte = str.getBytes("UTF-8"); byte[] gbkByte = str.getBytes("GBK"); byte[] gb2312Byte = str.getBytes("gb2312"); byte[] unicodeByte = str.getBytes("unicode"); System.out.println(toString(defaultByte)); System.out.println(toString(utf8Byte)); System.out.println(toString(gbkByte)); System.out.println(toString(gb2312Byte)); System.out.println(toString(unicodeByte)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } public static String toString(byte[] array) { StringBuilder sb = new StringBuilder(); for (byte b : array) { sb.append(b); sb.append(" "); } return sb.toString(); } “1”的結果爲: 49 49 49 49 -2 -1 0 49 “a”的結果爲: 97 97 97 97 -2 -1 0 97 “中”的結果爲: -28 -72 -83 -28 -72 -83 -42 -48 -42 -48 -2 -1 78 45 “薅”的結果爲: -24 -106 -123 -24 -106 -123 -34 -74 -34 -74 -2 -1 -123 -123 Unicode怎麼是4個字節呢?????????????? 經過研究,Unicode 等同於 UTF-16,用4個字節代表一個字母或者一箇中文
字節不同數量級間
數據存儲是以10進制表示,數據傳輸是以2進製表示的,所以1KB不等於1000B。
1KB=1024B;1MB=1024KB=1024×1024B。其中1024=210。
1B(byte,字節)= 8 bit(見下文);
1KB(Kibibyte,千字節)=1024B= 2^10 B;
1MB(Mebibyte,兆字節,百萬字節,簡稱“兆”)=1024KB= 2^20 B;
1GB(Gigabyte,吉字節,十億字節,又稱“千兆”)=1024MB= 2^30 B;
1TB(Terabyte,萬億字節,太字節)=1024GB= 2^40 B;
1PB(Petabyte,千萬億字節,拍字節)=1024TB= 2^50 B;
1EB(Exabyte,百億億字節,艾字節)=1024PB= 2^60 B;
1ZB(Zettabyte,十萬億億字節,澤字節)= 1024EB= 2^70 B;
1YB(Yottabyte,一億億億字節,堯字節)= 1024ZB= 2^80 B;
1BB(Brontobyte,一千億億億字節)= 1024YB= 2^90 B;
1NB(NonaByte,一百萬億億億字節) = 1024 BB = 2^100 B;
1DB(DoggaByte,十億億億億字節) = 1024 NB = 2^110 B;[1]
GBK與GB2312的區別??
GBK是新標準,收錄了2萬多個漢字和符號
GB2312只收錄了6千多
GBK是完全兼容GB2312的
用UTF-8 存儲:
1KB 可以存放 1024 個英文字母 341個漢字
1MB可以存放 104.8萬個英文字符 34.9萬個漢字