【发布时间】:2013-07-12 08:32:33
【问题描述】:
我有一个十六进制数字的字符串表示,我想得到一个小端的字符串表示。
例如输入是:“112C4F”
输出应该是:“4F2C11”
我正在使用 c#。
最后我想出了这个:
string text = "3A221C";
int tmp = int.Parse(text, NumberStyles.HexNumber);
var reversedBytes = System.Net.IPAddress.NetworkToHostOrder(tmp);
var hex = reversedBytes.ToString("x");
var trimmed = hex.Substring(0, text.Length);
Console.WriteLine(trimmed);
输出是“1c223a”
因为我真的不知道第三行在做什么,所以我不确定它是否会一直像我期望的那样工作。我也不知道为什么我必须修剪额外的零?
【问题讨论】:
-
您当前的代码是什么样的?什么不适合你?我们确实希望您展示自己的努力 - 我们不是编码服务。
-
我已经尝试了很多从字符串、整数和数组的转换和转换。最终我想出了这个: string text = "3A221C"; int tmp = int.Parse(文本, NumberStyles.HexNumber); var reversedBytes = System.Net.IPAddress.NetworkToHostOrder(tmp); var hex = reversedBytes.ToString("x"); var trimmed = hex.Substring(0, text.Length); Console.WriteLine(修剪);输出是:“1c223a”,因为我真的不知道第三行在做什么我不确定它是否会像我期望的那样工作。我也不知道为什么我必须修剪额外的零?
-
请编辑问题并添加代码。如您所见,cmets 不是代码的好地方。
-
您忘记解释什么不适合您以及您卡在哪里。
标签: c# hex endianness