跳轉到內容

BlitzMax/模組/流/位元組序流

來自華夏公益教科書,開放的書籍,開放的世界

位元組序流允許您交換流資料的位元組順序。

這對於讀取或寫入在多個平臺上具有固定位元組序的二進位制流很有用。

位元組序是指儲存多位元組值的順序。例如,一個整數是四個位元組長,但是每個位元組應該以什麼順序儲存?低位元組優先還是高位元組優先?

這個選擇通常由 CPU 決定。例如,像奔騰這樣的英特爾 CPU 將多位元組值儲存為“低位元組優先”,這被稱為 *小端序*。另一方面,PowerPC CPU 將多位元組值儲存為“高位元組優先”,這被稱為 *大端序*。

大多數時候,您不必擔心位元組序問題。只要使用相同的位元組序來讀取和寫入資料,就不會有問題。但是,在讀取或寫入二進位制檔案時,需要考慮位元組序問題。例如,在 PC(小端序)上寫入一個二進位制檔案並在 Mac(大端序)上讀回它,如果檔案包含多位元組值,可能會產生奇怪的結果。

位元組序流透過修改讀取或寫入多位元組值的流命令的行為來幫助解決這個問題。這些命令是:ReadShortReadIntReadLongReadFloatReadDoubleWriteShortWriteIntWriteLongWriteFloatWriteDouble

BigEndianStream

[編輯 | 編輯原始碼]

函式 BigEndianStream:TStream( stream:TStream )

描述: BigEndianStream

返回: 大端序流

LittleEndianStream

[編輯 | 編輯原始碼]

函式 LittleEndianStream:TStream( stream:TStream )

描述: LittleEndianStream

返回: 小端序流

華夏公益教科書