有途教育

Char型變量中能不能存儲(chǔ)一個(gè)中文漢字

吳佳琪 2023-05-09 17:17:53

char類(lèi)型可以存儲(chǔ)一個(gè)中文漢字。因?yàn)镴ava中使用的編碼是Unicode(不選擇任何特定的編碼,直接使用字符在字符集中的編號(hào),這是統(tǒng)一的唯一方法),一個(gè)char類(lèi)型占2個(gè)字節(jié)(16比特),所以放一個(gè)中文是沒(méi)問(wèn)題的。

Char型變量中能不能存儲(chǔ)一個(gè)中文漢字

使用Unicode意味著字符在JVM內(nèi)部和外部有不同的表現(xiàn)形式,在JVM內(nèi)部都是Unicode,當(dāng)這個(gè)字符被從JVM內(nèi)部轉(zhuǎn)移到外部時(shí)(例如存入文件系統(tǒng)中),需要進(jìn)行編碼轉(zhuǎn)換。

所以Java中有字節(jié)流和字符流,以及在字符流和字節(jié)流之間進(jìn)行轉(zhuǎn)換的轉(zhuǎn)換流,如InputStreamReader和OutputStreamReader,這兩個(gè)類(lèi)是字節(jié)流和字符流之間的適配器類(lèi),承擔(dān)了編碼轉(zhuǎn)換的任務(wù);對(duì)于C程序員來(lái)說(shuō),要完成這樣的編碼轉(zhuǎn)換恐怕要依賴于union(聯(lián)合體/共用體)共享內(nèi)存的特征來(lái)實(shí)現(xiàn)了。

熱門(mén)推薦

最新文章