簡體   English   中英

以反字節順序從基數16轉換為基數10

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM