2014-03-27 75 views
1

我希望查看使用二進制閱讀器進入的二進制數據的一個字節。只有使用UTF-8才能使用PeekChar。否則,我得到錯誤「輸出字符緩衝區太小而不能包含解碼字符,編碼'Unicode(UTF-8)'fallback」。C中的二進制閱讀器查看字節#

有沒有一種方法讓二進制閱讀器偷看一個字節,而不考慮編碼?

Stream stream = new MemoryStream(buffer); 
BinaryReader reader = new BinaryReader(stream); 
type = (uint)reader.PeekChar(); // Throws error I mentioned for a particular case 
+1

是數據文本? UTF8可以有多字節字符。你在尋找下一個字符還是下一個字節? –

+0

@ScottChamberlain號它的二進制數據。我正在尋找下一個字節。 –

回答

1

BinaryReader不能偷看一個字節,就這麼簡單。但是,就你而言,這並不重要。由於MemoryStreamMemoryStream位於BinaryReader的底層,因此您可以安全地執行ReadByte並將Position移回一個字節。

+0

我正在尋找內存流的Peek方法。我不知道我可以改變立場。謝謝。 –