[問題] 關於binary檔案 / text檔案

作者: noapaov (單身漢)   2015-05-18 08:43:32
請問一下各位大大, 想請問一下我的理解是否有錯誤
檔案類型一般分二進位檔案(binary file)與文字檔(text file)
文字檔案存的是檔案編碼後的資料例如UTF-8編碼, 存的內容是UTF-8編碼資料,
我們看會出現中文是因為編輯器根據編碼進行了對照表的轉換
二進位檔案存的是二進制的內容也就是(0101), 因方便閱讀,
編輯器打開二進制有時會轉換成16進制(\u5f35)
但電腦要讀取時, 會將文字檔案再轉換成二進制檔案,
而二進位檔案則可直接讀取檔案內容,
(1) 我的理解有問題嗎?
(2) 如果是我上述的方式, 那我想請問(binary file)是根據什麼編碼進行轉換成機器碼的?
(3) unicode檔案(文字檔案) 轉成二進制檔案是直接將unicode編碼(\u5f35)轉成二進進制嗎?
作者: pttworld (批踢踢世界)   2015-05-18 10:27:00
在本板討論會多一層虛擬機器指令,但你以一般計概知識,電腦只看懂二進位機器碼,看懂指的是電位高低。文字檔的部分大致理解是對的。講一下轉換吧,如果你要談互轉,文字檔轉二進位沒什麼技巧,因為二進位就是記憶體資料寫入,把文字檔資料讀進記憶體再從記憶體把資料寫到檔案就是,程式語言搭配作業系統會幫你處理好。反之,二進位轉文字檔或其他的檔案的要看轉成什麼檔案看格式的規格怎定。文字檔最簡單的至少換行就要看平台吧,還有你已知道的編碼轉換,跟人是否看懂有關。
作者: noapaov (單身漢)   2015-05-18 10:59:00
那請問二進位檔案是依據ASCII產生的嗎?來是依照作業系統預設的編碼 ? 如MS950是如何轉成0101的
作者: pttworld (批踢踢世界)   2015-05-18 13:03:00
MS950和ASCII同樣都是編碼讓人看懂。二進位檔案儲存其來源看你要何種檔案格式如何轉這已經是程式語言牽涉到system call要了解作業系統的,理論上你在這找不到答案,因為這邊不會有相關知識背景的人存在,或該相關人士不會來這參與討論,google吧,希望你找得到答案。
作者: noapaov (單身漢)   2015-05-18 13:13:00
了解 謝謝你
作者: ssccg (23)   2015-05-18 13:46:00
機器碼是binary,binary不需要轉成機器碼所有檔案都是binary,文字檔只是檔案中的binary是文字資料經過某種編碼的結果而已
作者: realmeat (真肉)   2015-05-18 16:28:00
機器碼應該是machine code...腦中突然想到asm...

Links booklink

Contact Us: admin [ a t ] ucptt.com