回覆列表
  • 1 # 你永遠追不上的巨人

    可以,不過,如果某個特殊的漢字沒有被包含在unicode編碼字符集中,那麼,這個char型變數中就不能儲存這個特殊漢字。

    1、char型變數是用來儲存Unicode編碼的字元的,unicode編碼字符集中包含了漢字,所以,char型變數中當然可以儲存漢字啦。補充說明:unicode編碼佔用兩個位元組,所以,char型別的變數也是佔用兩個位元組。

    2、在Java中,char型別可以儲存一箇中文漢字,因為Java中使用的編碼是Unicode(不選擇任何特定的編碼,直接使用字元在字符集中的編號,這是統一的唯一方法),一個char型別佔2個位元組(16位元),所以放一箇中文是沒問題的。補充:使用Unicode意味著字元在JVM內部和外部有不同的表現形式,在JVM內部都是Unicode,當這個字元被從JVM內部轉移到外部時(例如存入檔案系統中),需要進行編碼轉換。所以Java中有位元組流和字元流,以及在字元流和位元組流之間進行轉換的轉換流,如InputStreamReader和OutputStreamReader,這兩個類是位元組流和字元流之間的介面卡類,承擔了編碼轉換的任務。對於C程式設計師來說,要完成這樣的編碼轉換恐怕要依賴於union(聯合體/共用體)共享記憶體的特徵來實現了。char型變數存放的其實就是這個兩位元組的short型別的編號,只是char型資料在顯示的時候不是顯示這個編碼數字,而是對應這個編碼找到字元點陣去顯示這個點陣,顯示出來後即這個字元。

  • 中秋節和大豐收的關聯?
  • 在你的家鄉這種水生植物叫什麼?