byte(位元組):
byte即位元組的意思,是java中的基本資料類型,用來申明位元組型的變量,一個位元組包含8個位,所以,byte類型的值範圍是-128到127。
通常在讀取非文字檔案時(如圖片,聲音,可執行檔)需要用位元組陣列來保存檔案的內容,在下載檔案時,也是用byte陣列作臨時的緩衝器接收文件內容,所以說byte在文件操作時是必不可少的。
在某些程式中(尤其是和硬體有關的程式)會將某些資料儲存到位元組類型的變數中,例如00110010,其中每個位元都代表一個參數,然後以位元運算的方式對參數進行取值與賦值操作。
字元:
機器只知道位元組,而字元卻是語意上的單位,它是有編碼的,一個字元可能編碼成1個2個甚至3個4個位元組。這跟字符集編碼有關係,英文字母和數字是單字節,但漢字這些自然語言中的字符是多字節的。一個位元組只能表示255個字符,不可能用於全球那麼多自然語言的處理,因此肯定需要多位元組的儲存方式。
那麼在檔案的輸入輸出中,InputStream、OutputStream它們是處理位元組流的,就是說假設所有東西都是二進位的位元組;而Reader, Writer 則是字元流,它涉及到字符集的問題;依照ANSI編碼標準,標點符號、數字、大小寫字母都佔一個位元組,漢字佔2個位元組。依照UNICODE標準所有字元都佔2個位元組。
推薦教學:Java教學
以上是java中字符和位元組的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!