char 是字符,byte 是字節(jié),都可以強(qiáng)制轉(zhuǎn)換為一個(gè)整數(shù)。(char 強(qiáng)制轉(zhuǎn)換為整數(shù)表示 這個(gè)字符對(duì)應(yīng)的? Unicode 碼的位置)
char 是無符號(hào)型的,大小范圍為 0 -66535 (對(duì)應(yīng)的 Unicode 碼位置)
byte 是字節(jié) ,有符號(hào)型的,大小范圍是 ?-128-127 ?
char 可以表示中文,因?yàn)閁nicode編碼中包含了中文
byte 不可以表示中文。
char 轉(zhuǎn)換為 byte,
char t = '中';
CharBuffer cb = CharBuffer.allocate(1);
cb.put(t);
cb.flip();
ByteBuffer bb = Charset.forName("utf-8").encode(cb);
byte [] b = bb.array();
轉(zhuǎn)換后的byte長度,誰字符編碼不同而不同。
utf-8 編碼 :英文字母轉(zhuǎn)byte 后占1個(gè)字節(jié)長度,中文占3個(gè)字節(jié)長度
gbk 編碼:無論英文,中文都占2個(gè)字節(jié)長度