❶ java位元組流和字元流的區別
Java 字元流和位元組流的區別如下:
字元流處理的單元為 2 個位元組的 Unicode 字元,分別操作字元、字元數組或字元串。
而位元組流處理單元為 1 個位元組,操作位元組和位元組數組。
請採納,謝謝
❷ Java中如何區分位元組流和和字元流
位元組流就是按照位元組來進行傳輸,字元流是按照字元來傳輸.最基本的是位元組流,字元流可以說是對位元組流的一個包裝流.比如你知道了一個字元是8個位元組,那麼你讓位元組流一次傳輸8個位元組,那不就相當於一次傳輸一個字元,也就是字元流了.
❸ Java字元流與位元組流的區別
字元流處理的單元為2個位元組的Unicode字元,分別操作字元、字元數組或字元串,而位元組流處理單元為1個位元組,
操作位元組和位元組數組。所以字元流是由Java虛擬機將位元組轉化為2個位元組的Unicode字元為單位的字元而成的,所以它對多國語言支持性比較好!如果是
音頻文件、圖片、歌曲,就用位元組流好點,如果是關繫到中文(文本)的,用字元流好點.
所有文件的儲存是都是位元組(byte)的儲存,在磁碟上保留的並不是文件的字元而是先把字元編碼成位元組,再儲存這些位元組到磁碟。在讀取文件(特別是文本文件)時,也是一個位元組一個位元組地讀取以形成位元組序列.
位元組流可用於任何類型的對象,包括二進制對象,而字元流只能處理字元或者字元串;
2.
位元組流提供了處理任何類型的IO操作的功能,但它不能直接處理Unicode字元,而字元流就可以。
❹ JAVA中位元組和字元的區別
一個位元組(byte)=8bit,字元的話一個英文字元=一個位元組,一個中文字元(也就是漢字)=2個位元組,有一些特殊符號也會佔用兩個位元組,位元組流比字元流粒度更小
❺ java里位元組和字元分別是什麼概念,怎麼區別
這不光是 Java 的概念,我們知道機器只知道位元組,而字元卻是語義上的單位,它是有編碼的,一個字元可能編碼成1個2個甚至3個4個位元組。這跟字元集編碼有關系,英文字母和數字是單位元組,但漢字這些自然語言中的字元是多位元組的。一個位元組只能表示255個字元,不可能用於全球那麼多種自然語言的處理,因此肯定需要多位元組的存儲方式。
當我們在處理 Java 時,比如 InputStream, OutputStream 它們是處理位元組流的,就是說假設所有東西都是二進制的位元組,而 Reader, Writer 則是字元流,它涉及到字元集的問題,因為把一個字元保存到磁碟或讀取出來需要指定一個字元集,平時你的代碼沒有指定是因為 JVM 讀取操作系統默認的字元集,有時候(特別是數據交換的時候)可能這個默認字元集不正確。
在 Java 中,它的內核是使用 Unicode,也就是說它記住了每個字元的 Unicode 內部編碼(一串數字,全球唯一,各國語言常用字元全部在裡面,比如康熙字典這種古董中的多數漢字都在其中),只有把字元串通過網路發送出去或保存到磁碟上或反過來讀取時才有字元編碼成位元組的過程,因為一個字元多個位元組我們需要知道每個字元的這幾個位元組是按什麼順序排列的,第1個位元組排前面還是排後面,多個字元串在一起時在讀取時怎麼識別出哪幾個位元組湊在一起是一個字元,這就是字元集編碼方案了,UTF8, GBK, GB2312, GB18030, BIG5,之類的都是其中一種字元集編碼方案。
❻ java中位元組數組與字元數組用法有什麼區別
額
最基本的區別就是一個存儲位元組一個存儲字元啊
所以你只要搞清楚位元組和字元的區別就好了
位元組(Byte):位元組是通過網路傳輸信息(或在硬碟或內存中存儲信息)的單位。位元組是計算機信息技術用於計量存儲容量和傳輸容量的一種計量單位,1個位元組等於8位二進制,它是一個8位的二進制數,是一個很具體的存儲空間。
字元:人們使用的記號,抽象意義上的一個符號。
'1',
'中',
'a',
'$',
'¥',
……一個字元(1char
=
2byte
=
16bit)
詳情可以自己網路一下
位元組和字元的區別
❼ java中一個字元是幾個位元組字元和位元組是同等的嗎
Java規定了字元的內碼要用UTF-16編碼,一個字元是2個位元組。外碼字元所佔位元組取決於具體編碼。字元和位元組是不一樣的。
外碼編碼不同,字元和位元組的換算不同,幾種常見的編碼換算如下:
ASCII編碼是單位元組編碼,只有英文字元,不能編碼漢字。
GBK編碼1個英文字元是1個位元組,一個漢字是是2個位元組。
UTF-8編碼1個英文字元是1個位元組,一個漢字是3個位元組。
Unicode編碼1個英文字元是2個位元組,一個漢字是2個位元組。
(7)java位元組和字元的區別擴展閱讀:
漢字編碼的困難點 漢字進入計算機,有許多困難,其原因主要有三點:
①數量龐大:一般認為,漢字總數已超過6萬個(包括簡化字)。雖有研究者主張規定3000多或4000字作為當代通用漢字,但仍比處理由二三十個字母組成的拼音文字要困難得多。
②字形復雜:有古體今體,繁體簡體,正體異體;而且筆畫相差懸殊,少的一筆,多的達36筆,簡化後平均為9.8筆。
③存在大量一音多字和一字多音的現象:漢語音節416個,分聲調後為1295個(根據《現代漢語詞典》統計,輕聲39個未計)。以1萬個漢字計算,每個不帶調的音節平均超過24個漢字,每個帶調音節平均超過7.7個漢字。有的同音同調字多達66個。一字多音現象也很普遍。
❽ java的字元流與位元組流到底有什麼區別
Java中的位元組流處理的最基本單位為單個位元組,它通常用來處理二進制數據。Java中最基本的兩個位元組流類是InputStream和OutputStream,它們分別代表了組基本的輸入位元組流和輸出位元組流。InputStream類與OutputStream類均為抽象類,我們在實際使用中通常使用Java類庫中提供的它們的一系列子類。下面我們以InputStream類為例,來介紹下Java中的位元組流。
❾ Java中 「字元類型」與「位元組類型」的區別是什麼
byte位元組類型是JAVA中最小的數據類型,它在內存中佔8位,取值范圍從-128到127,
賦值:byte i = 127;註:byte型在賦值時,一旦超過127或小於-128,則會產生編譯錯誤。
char字元類型在內存中佔2個位元組。表示一個字元,也可以使用A SCII碼范圍內的值來給char型的變數賦值。由於字元在內存中的取值不存在負數范圍,所有取值范圍從0到655 35。
賦值:char i = 'a'; 或者 char i = 97;
註:在java中,字元的表現形式為單個字元加上一對單引號修飾。
首先得知道byte的概念和作用:
byte即位元組的意思,是java中的基本類型,用來申明位元組型的變數。
通常在讀取非文本文件時(如圖片,聲音,可執行文件)需要用位元組數組來保存文件的內容,在下載文件時,
也是用byte數組作臨時的緩沖器接收文件內容。所以說byte在文件操作時是必不可少的。不管是對文件寫入還是
讀取都要用到。byte在java中是一種是數據類型,代表一個位元組,一個位元組包含8個位,所以,byte類型的取值范
圍是-128到127。
在某些程序中(尤其是和硬體有關的程序)會將某些數據存儲到位元組類型的變數中,比如00110010,其中每個
位都代表一個參數,然後以位運算的方式對參數進行取值和賦值操作。
機器只知道位元組,而字元卻是語義上的單位,它是有編碼的,一個字元可能編碼成1個2個甚至3個4個位元組。這跟字
符集編碼有關系,英文字母和數字是單位元組,但漢字這些自然語言中的字元是多位元組的。一個位元組只能表示255個字
符,不可能用於全球那麼多種自然語言的處理,因此肯定需要多位元組的存儲方式。而InputStream, OutputStream
它們是處理位元組流的,就是說假設所有東西都是二進制的位元組,而 Reader, Writer 則是字元流,它涉及到字元集
的問題;按照ANSI編碼標准,標點符號、數字、大小寫字母都佔一個位元組,漢字佔2個位元組。按照UNICODE標准所有
字元都佔2個位元組。