linux如何查看二進(jìn)制文件內(nèi)容 linux怎么區(qū)別文本文件和二進(jìn)制文件?
linux怎么區(qū)別文本文件和二進(jìn)制文件?在windows中,文本文件和二進(jìn)制文件在處理回車符和換行符時(shí)有區(qū)別:在文本模式下寫(xiě)入時(shí),遇到每一個(gè)回車符和換行符,都會(huì)被回車符和換行符替換,然后寫(xiě)入文件;在讀
linux怎么區(qū)別文本文件和二進(jìn)制文件?
在windows中,文本文件和二進(jìn)制文件在處理回車符和換行符時(shí)有區(qū)別:在文本模式下寫(xiě)入時(shí),遇到每一個(gè)回車符和換行符,都會(huì)被回車符和換行符替換,然后寫(xiě)入文件;在讀取文本時(shí),每遇到一個(gè)回車符和換行符,它都會(huì)反轉(zhuǎn)為回車符和換行符。二進(jìn)制文件沒(méi)有這種轉(zhuǎn)換處理。但在Linux中,文本文件和二進(jìn)制文件沒(méi)有區(qū)別。例如,fopen(“a.txt”、“R”)和fopen(“a.txt”、“RB”)在Linux中是相同的。
如何用C語(yǔ)言把二進(jìn)制文件轉(zhuǎn)換成文本文件?
將二進(jìn)制文件轉(zhuǎn)換為文本文件沒(méi)有實(shí)際意義。二進(jìn)制文件和文本文件之間最根本的區(qū)別在于,當(dāng)讀取和寫(xiě)入二進(jìn)制文件時(shí),系統(tǒng)不處理這些文件,程序員處理它們。打開(kāi)文本文件時(shí),操作系統(tǒng)會(huì)將Rn中的文件轉(zhuǎn)換為n中的C語(yǔ)言,只有n用于編寫(xiě)程序換行符,但在Windows操作系統(tǒng)中,換行符是Rn,即兩個(gè)字和字節(jié)。如果不做任何處理,fgetc()=“n”遇到這樣的語(yǔ)句時(shí)會(huì)出現(xiàn)一些小錯(cuò)誤,導(dǎo)致文件讀寫(xiě)失敗。因此,在讀取時(shí),系統(tǒng)會(huì)自動(dòng)將文件中的Rn改為n,至于為什么使用C語(yǔ)言n而使用windows Rn,這是因?yàn)長(zhǎng)inux系統(tǒng)首先使用C語(yǔ)言,而Linux只使用換行符n,所以為了使代碼更具可移植性,程序員在windows下編寫(xiě)C程序時(shí)不必注意這些細(xì)節(jié)
事實(shí)上,對(duì)于計(jì)算機(jī)設(shè)備來(lái)說(shuō),它們是完全一樣的。這種差異主要是針對(duì)人的。一種文本文件,其中數(shù)據(jù)和字符代碼被轉(zhuǎn)換成相應(yīng)的字符或符號(hào)。不解釋二進(jìn)制數(shù)據(jù)。