我看第x字節從特定的文件:比較中有單位值從文件中讀取的字節
uint LIBPCAP_MAGIC = 0xa1b2c3d4;
uint LIBPCAP_MAGIC_ENDIAN = 0xd4c3b2a1;
using (BinaryReader binaryReader = new BinaryReader(File.Open("file", FileMode.Open)))
{
byte[] buffer = binaryReader.ReadBytes(50);
for (int i = 0; i < buffer.Length - 4; i++)
{
uint currentValue = BitConverter.ToUInt32(buffer, i);
if (currentValue == LIBPCAP_MAGIC || currentValue == LIBPCAP_MAGIC_ENDIAN)
Console.WriteLine("FOUND!!!");
}
}
之後,我有這個常數uint
值:
uint LIBPCAP_MAGIC_NUMBER = 0xd4c3b2a1;
,我想作確定如果我的第一個x bytes
(在本例中爲20個字節)包含此uint
值。
所以在這個例子中,我有這個string hex
,但我想知道這是讀取字節並轉換爲string hex
的最佳方法。 也許我需要閱讀bytes
而不是轉換它?
'BitConverter.ToUInt32'可以做到這一點。您不需要轉換爲字符串十六進制只使用字節。 uint只有4個字節,所以不知道如何將其與20個字節進行比較https://msdn.microsoft.com/zh-cn/library/system.bitconverter.touint32(v=vs.110).aspx –
我可以嗎?有代碼示例? –