java中char類型佔2個位元組,char類型位元組與我們使用的字元集有關係,如果使用ASCII編碼集,那麼char佔用一個位元組,如果使用UTF8編碼格式,那麼char佔用兩個位元組。
char在設計之初的時候被用來儲存字符,可是世界上那麼多字符,如果有1個字節,就意味著只能儲存256中,顯然不合適,而如果有兩個位元組呢,那麼就可以儲存2^16(65536)種,這個數量符合大多數國家的語言字元個數於是Java團隊使用unicode作為編碼,一個char作為2個位元組來儲存。
但是unicode只是一個標準,具體的實作還是有如:UTF-8或UTF-16等編碼。
Java的char一定是2個位元組嗎?
不一定,與我們使用的字元集有關係,如果使用ASCII編碼集,那麼char佔用一個位元組,如果使用UTF-8編碼格式呢? UTF-8是不定長編碼,編碼的長度是動態的,所以不一定。
char能儲存中文嗎?
這個問題依舊歸結於使用的編碼集,如果使用ASCII,那肯定不能存儲,如果採用UTF-8,那可以。
總結
char的長度和是否能儲存中文字元是和編碼格式有關的。對於我們在編碼的時候如果跨平台編碼時,應該在編碼、解碼的時候設定對應的格式,防止因編解碼而導致的異常。
相關學習推薦:java基礎教學
以上是java中char類型佔幾個位元組的詳細內容。更多資訊請關注PHP中文網其他相關文章!