首页 > 解决方案 > 字节和字节数组有什么区别?

问题描述

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

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

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

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

标签: c#arraysvariablesbinarybyte

解决方案


Abyte是(在 c# 的情况下)由 8 位组成的无符号整数,因此:[0,255] 范围内的整数;abyte[]是一个固定大小的byte值块,在这种情况下是 4 个值,初始值(顺序)一、零、零、零。这1000 的值不同 - 它是 4 个离散值。您可以将有效负载强制为整数,但这意味着byte[]什么值是模棱两可的:

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

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


推荐阅读