【问题标题】:Converting Uint64 to 5 bytes and vice versa in c#在 c# 中将 Uint64 转换为 5 个字节,反之亦然
【发布时间】:2013-04-02 18:56:24
【问题描述】:

我有一个需要 5 个字节的应用程序,它是从一个数字派生的。现在我使用的是 4 个字节的 Uint32。我被告知要创建一个使用字节和 Uint32 的类。但是,我不确定如何组合它们,因为它们是数字。

我认为最好的方法可能是使用 Uint64 并将其转换为 5 个字节。但是,我不确定如何做到这一点。我需要能够将其转换为 5 个字节并在类中使用一个单独的函数将其转换回 Uint64。

有人对最好的方法有任何想法吗?

谢谢

【问题讨论】:

  • 你需要在哪里存储那个 5 字节的整数?
  • "期望 5 个字节" -- 怎么样?在哪里?
  • 这对你有帮助吗我不确定..但它看起来可能msdn.microsoft.com/en-us/library/…

标签: c# type-conversion byte uint64


【解决方案1】:

使用BitConverter.GetBytes,然后删除不需要的三个字节。

要将其转换回来,请使用 BitConverter.ToUInt64 记住,您必须首先用三个额外(零)字节填充字节数组。

请注意字节顺序。如果您发送这些字节的应用程序期望相反的字节序,您可能需要反转您的数组。此外,字节序将决定您是否需要从数组的开头或结尾添加/删除字节。 (查看BitConverter.IsLittleEndian

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多