我有一个参考程序,我在网上找到了。在该变量中,data64被定义为ulong类型。它们正在转换为unicode,并显示在如下文本框中:
TextBox1.AppendText = Rxmsg.data64.ToString("X");
data64的实际值是"12288092688749907974“。当它在文本框中显示时,值是"AA88133200035006“。我以为这是一个简单的十进制到十六进制转换。因此,我将data64值转换为十六进制,但我错了。有谁能告诉我上面的转换是如何进行的吗?这和我的一个项目有关。对我来说,进一步开展工作将是非常有益的。
发布于 2015-11-23 03:51:47
原因是显示的本质
IsLittleEndian是: 06-50-03-00-32-13-88-AA IsLittleEndian编号: AA-88-13-32-00-03-50-06
using System;
namespace ConsoleApplication1
{
public class Program
{
public static void Main(string[] args)
{
var value = 12288092688749907974u;
var bytes = BitConverter.GetBytes(value);
Console.Write(BitConverter.IsLittleEndian ? "IsLittleEndian Yes" : "IsLittleEndian No");
Console.WriteLine(" Value " + BitConverter.ToString(bytes));
Array.Reverse(bytes);
Console.Write(BitConverter.IsLittleEndian ? "IsLittleEndian No" : "IsLittleEndian Yes");
Console.WriteLine(" Value " + BitConverter.ToString(bytes));
Console.Read();
}
}
}https://stackoverflow.com/questions/33863325
复制相似问题