如何將int(4字節)轉換爲不帶週期的十六進制(「XX XX XX XX
」)?將int轉換爲帶前導零的十六進制
例如:
i=13 hex="00 00 00 0D"
i.ToString("X")
返回"D"
,但我需要一個4個字節的十六進制值。
如何將int(4字節)轉換爲不帶週期的十六進制(「XX XX XX XX
」)?將int轉換爲帶前導零的十六進制
例如:
i=13 hex="00 00 00 0D"
i.ToString("X")
返回"D"
,但我需要一個4個字節的十六進制值。
您可以通過在X
格式字符串中附加所需的十六進制數字數來指定最小位數。由於兩個十六進制數字對應一個字節,因此您的4字節示例需要8個十六進制數字。即使用i.ToString("X8")
。
如果您需要小寫字母,請使用x
而不是X
。例如13.ToString("x8")
映射到0000000d
。
哦...謝謝!我不認爲這很簡單... – user2264990 2013-04-10 08:18:16
試試這個:
int innum = 123;
string Hex = innum .ToString("X"); // gives you hex
string Hex = innum .ToString("X8"); // gives you hex 8 digit
http://stackoverflow.com/questions/1139957/c-sharp-convert-integer-to-hex-and-back-again – Joetjah 2013-04-10 07:51:12
@Joetjah這些問題的答案只提' X',OP已經知道。這個問題是關於領先的'0'數字。 – CodesInChaos 2013-04-10 07:54:12
如果您找到一個,將其作爲重複項關閉是很好的,但是您目前關閉它的問題並不重複。那裏的答案建議'ToString(「X」)',它不會產生OP要求的前導零。 – CodesInChaos 2013-04-10 15:05:33