java 中 char 和 byte 的區(qū)別

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é)長度

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容