[英]C# Converting base64 string to 16-bit words stored in little-endian byte order
[英]Converting from base 16 to base 10 in reverse byte order
我正在從硬件固定的頭開始的網絡流中讀取數據,其后是期望數據的長度,作為System.UInt16,其第一個字節為0x23,第二個字節為0x00。 字節的順序應該根據硬件文檔進行反轉,我應該期望將此ushort轉換為35的值,即從23到10的23。
如何以編程方式考慮反向順序的字節進行此轉換。 我目前正在使用BinaryReader.ReadUInt16()。
更新:請注意,我不希望使用System.Convert.ToString(value, base)
轉換為字符串。
這對您有用嗎?
byte a1 = 0x23;
byte a2 = 0x00;
ushort a12 = (ushort)(a1 << 8 | a2); //This what you receive
ushort a21 = (ushort)((a12 & 0xFF00) >> 8 | (a12 & 0xFF) << 8);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.