【问题标题】:What is the difference between byte and byte array?字节和字节数组有什么区别?
【发布时间】:2021-02-14 23:01:33
【问题描述】:

字节和字节数组有什么区别?

byte[] array1 ={1,0,0,0}

这是否意味着数组1 的字节值为1000?

如何区分何时使用字节和字节数组?

【问题讨论】:

标签: c# arrays variables binary byte


【解决方案1】:

byte 是一个介于 0 和 255 之间的变量。字节数组是一个包含字节值(值 0 到 255)的数组

【讨论】:

  • byte 不是 0 或 1 的值;这是一个
  • 1 byte = 8 bit , 1 bit 为 0 或 1
【解决方案2】:

byte 是(在 c# 的情况下)由 8 位组成的无符号整数,因此:[0,255] 范围内的整数; byte[] 是一个固定大小的 byte 值块,在本例中为 4 个值,初始值(顺序)一、零、零、零。这与 1000 的值相同 - 它是 4 个离散值。您可以强制byte[]有效负载转换为整数,但是表示的值是什么含糊不清:

  • 我们可以将其视为原始大端 32 位整数
  • 我们可以将其视为原始 little-endian 32 位整数
  • 我们可以将这 4 个元素视为十进制数字
  • 我们可以将这 4 个元素视为可能表示十进制数字的 ASCII 字符
    • 或与非 ASCII 编码相同,例如 UTF-16(大端或小端)、UTF-32 等

至于何时使用每个:您是在谈论一个值还是多个值?请注意,byte[] 通常用于讨论二进制有效负载(例如文件/网络内容),尽管您可以byte[] 用于与此无关的更具体的场景。

【讨论】:

  • 对于这样的问题,恐怕这个答案有点太深了。
【解决方案3】:

数组是包含多个相同类型值的结构。因此,一个字节数组包含多个字节。你的数组四个字节。第一个是 1,第二个是 0,第三个是 0,以此类推。该数组的值确实是 {1,0,0,0} 或 [1,0,0,0],当您调用它的 ToString() 方法时,您会得到 "System.Byte[]"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多