位=bit,代表0或1
位元組=byte=b=8bit
漢字=2byte=2b=16bit
乙個位元組在絕大部分計算機上都是8位,也就是從0000 0000到1111 1111,一共256個字元。
ascii表上記錄了0000 0000 -0111 1111 既0-127,一共128個字元
擴充套件ascii表,eascii不再是國際標準,裡面包含了128-256,一共128個字元
unicode編碼是指是為了解決各國語言不同而產生的。前面帶乙個u。
記住,unicode只是乙個用來對映字元和數字的標準。
它對支援字元的數量沒有限制,也不要求字元必須佔兩個、三個或者其它任意數量的位元組。
unicode字元是怎樣被編碼成記憶體中的位元組這是另外的話題,它是被utf(unicode transformation formats)定義的。
utf-8:
utf-8是乙個非常驚豔的概念,它漂亮的實現了對ascii碼的向後相容,以保證unicode可以被大眾接受。、
在utf-8中,0-127號的字元用1個位元組來表示,使用和us-ascii相同的編碼。這意味著2023年**的文件用utf-8開啟一點問題都沒有。只有128號及以上的字元才用2個,3個或者4個位元組來表示。因此,utf-8被稱作可變長度編碼。
utf-16:
另乙個流行的可變長度編碼方案是utf-16,它使用2個或者4個位元組來儲存字元。然而,人們逐漸意識到utf-16可能會浪費儲存空間。
ansi:
就是ascii編碼。乙個英文本元佔乙個字元
位 位元組 編碼格式
位 bit 計算機中最小的資料單位。每一位的狀態只能是0或1。位元組 byte 儲存空間的基本計量單位,8個二進位制位構成乙個位元組 編碼格式 ascii 127個字元被編碼到計算機裡,也就是大小寫英文本母 數字和一些符號 unicode 把所有語言都統一到一套編碼裡,解決亂碼問題 gbk 有一位元...
32位 64位 各型別位元組數
32位編譯器 char 1個位元組 char 即指標變數 4個位元組 32位的定址空間是2 32,即32個bit,也就是4個位元組。同理64位編譯器 short int 2個位元組 int 4個位元組 unsigned int 4個位元組 float 4個位元組 double 8個位元組 long ...
java位運算和位元組編碼(二)
我們來看下jdk中integer類中的靜態方法numberofleadingzeros public static int numberofleadingzeros int i if i 24 0 if i 28 0 if i 30 0 n i 31 return n 乍一看,啥跟啥。完全看不懂。不...