我有10個字節 - 4個字節的低階,4個字節的高階,2個字節的最高階 - 我需要轉換爲無符號長。我已經嘗試了幾種不同的方法,但都沒有工作:如何轉換10個字節爲無符號長
嘗試#1:
var id = BitConverter.ToUInt64(buffer, 0);
嘗試#2:
var id = GetID(buffer, 0);
long GetID(byte[] buffer, int startIndex)
{
var lowOrderUnitId = BitConverter.ToUInt32(buffer, startIndex);
var highOrderUnitId = BitConverter.ToUInt32(buffer, startIndex + 4);
var highestOrderUnitId = BitConverter.ToUInt16(buffer, startIndex + 8);
return lowOrderUnitId + (highOrderUnitId * 100000000) + (highestOrderUnitId * 10000000000000000);
}
任何幫助,將不勝感激,謝謝!
你從哪裏得到一個10字節長? 10個字節是80位,不適合64位長。 – 2010-05-13 23:50:40
我最後一次檢查無符號長整型是64位寬。你期望得到什麼?這些術語是你乘以最後一行應該是十六進制的嗎? – 2010-05-13 23:51:00
不長只有8個字節? – tbischel 2010-05-13 23:53:10