字節(jié)流是指?jìng)鬏斶^(guò)程中,傳輸數(shù)據(jù)的最基本單位是字節(jié)的流,一個(gè)不包含邊界數(shù)據(jù)的連續(xù)流;字節(jié)流是由字節(jié)組成的,主要用在處理二進(jìn)制數(shù)據(jù)。
流是個(gè)抽象的概念,是對(duì)輸入輸出設(shè)備的抽象,輸入流可以看作一個(gè)輸入通道,輸出流可以看作一個(gè)輸出通道。輸入流是相對(duì)程序而言的,外部傳入數(shù)據(jù)給程序需要借助輸入流。輸出流是相對(duì)程序而言的,程序把數(shù)據(jù)傳輸?shù)酵獠啃枰柚敵隽鳌?/p>
什么是字節(jié)流?
傳輸過(guò)程中,傳輸數(shù)據(jù)的最基本單位是字節(jié)的流
什么是字符流?
字符流--傳輸過(guò)程中,傳輸數(shù)據(jù)的最基本單位是字符的流。
字符編碼方式不同,有時(shí)候一個(gè)字符使用的字節(jié)數(shù)也不一樣,比如ASCLL方式編碼的字符,占一個(gè)字節(jié);而UTF-8方式編碼的字符,一個(gè)英文字符需要一個(gè)字節(jié),一個(gè)中文需要三個(gè)字節(jié)。
字節(jié)數(shù)據(jù)是二進(jìn)制形式的,要轉(zhuǎn)成我們能識(shí)別的正常字符,需要選擇正確的編碼方式。我們生活中遇到的亂碼問(wèn)題就是字節(jié)數(shù)據(jù)沒(méi)有選擇正確的編碼方式來(lái)顯示成字符。
從本質(zhì)上來(lái)講,寫(xiě)數(shù)據(jù)(即輸出)的時(shí)候,字節(jié)也好,字符也好,本質(zhì)上都是沒(méi)有標(biāo)識(shí)符的,需要去指定編碼方式。
但讀數(shù)據(jù)的時(shí)候,如果我們需要去“看數(shù)據(jù)”,那么字節(jié)流的數(shù)據(jù)需要指定字符編碼方式,這樣我們才能看到我們能識(shí)別的字符;而字符流,因?yàn)橐呀?jīng)選擇好了字符編碼方式,通常不需要再改了(除非定義的字符編碼方式與數(shù)據(jù)原有的編碼方式不一致!)
在傳輸方面上,由于計(jì)算機(jī)的傳輸本質(zhì)都是字節(jié),而一個(gè)字符由多個(gè)字節(jié)組成,轉(zhuǎn)成字節(jié)之前先要去查表轉(zhuǎn)成字節(jié),所以傳輸時(shí)有時(shí)候會(huì)使用緩沖區(qū)。
字節(jié)流是由字節(jié)組成的,字符流是由字符組成的. Java里字符由兩個(gè)字節(jié)組成。
字節(jié)流是最基本的,所有的InputStream和OutputStream的子類都是,主要用在處理二進(jìn)制數(shù)據(jù),它是按字節(jié)來(lái)處理的但實(shí)際中很多的數(shù)據(jù)是文本。
流就是stream. 一個(gè)連續(xù)的字節(jié)隊(duì)列。
流是程序輸入或輸出的一個(gè)連續(xù)的字節(jié)序列,設(shè)備(例如鼠標(biāo),鍵盤(pán),磁盤(pán),屏幕和打印機(jī))的輸入和輸出都是用流來(lái)處理的。在C語(yǔ)言中,所有的流均以文件的形式出現(xiàn),不一定是物理磁盤(pán)文件,還可以是對(duì)應(yīng)與某個(gè)輸入/輸出源的邏輯文件
流式傳輸主要指將整個(gè)音頻和視頻及三維媒體等多媒體文件經(jīng)過(guò)特定的壓縮方式解析成一個(gè)個(gè)壓縮包,由視頻服務(wù)器向用戶計(jì)算機(jī)順序或?qū)崟r(shí)傳送。
關(guān)鍵詞: 什么是字節(jié)流 什么是字符流 什么是流式傳輸 傳輸數(shù)據(jù)的最基本單位