【问题标题】:Split and store an integer into two byte将整数拆分并存储为两个字节
【发布时间】:2021-03-01 22:57:07
【问题描述】:

我正在开发嵌入式系统,我只有 2 字节的存储空间。我需要在这 2 个字节中存储一个 JSON 响应。 JSON 响应是一个包含 2 位数字的字符串。如何将字符串转换为无符号整数拆分并保存到这 2 个字节中。我正在使用 C#:

var 结果 = "16";

我需要将其转换并存储为 2 个字节。

【问题讨论】:

  • var x = short.Parse(results)?
  • 所以我做了这个操作。一个短是2个字节。我需要能够将其拆分并保存为 2 个字节的数据,而这些字节不在一起。他们是分开的。所以通过拆分,我可以将数据保存在这 2 个字节的插槽中
  • ... 后跟var b1 = (byte)(x & 0xFF); var b2 = (byte)(x >> 8);
  • 这能回答你的问题吗? Good way to convert between short and bytes?
  • 你的数字是十进制还是十六进制?

标签: c#


【解决方案1】:

由于您的值只有 2 位长,您只需要 1 个字节来存储它。 您只需调用 Byte.Parse("16") ,您将获得 16 作为一个字节。 然后,您可以将字节存储在任何您想要的位置。

【讨论】:

    【解决方案2】:

    @TheBlueOne 所说的 - 一个两位数,即使十六进制只需要 1 个字节 - 但对于更大的数字,您可以使用 BitConverter.GetBytes.

    var s2 = "FF01"; 
    var n = Convert.ToUInt16(s2, 16); 
    var bytes = BitConverter.GetBytes(n);
    //bytes[0] = 1
    //bytes[1] = 255
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多