【问题标题】:What is a byte[] array?什么是字节 [] 数组?
【发布时间】:2010-06-21 22:40:54
【问题描述】:

什么是byte 数组在.NET 框架的上下文中?

我熟悉arraybyte 等标准定义,并且非常熟悉字节等电子工程概念。但我无法将它与计算机科学概念联系起来。我看到它到处都在使用它,而且我在没有真正深入理解它的情况下使用它。

【问题讨论】:

  • 字节数组与其他数组有什么不同吗?为什么要明确询问字节数组?
  • 我很难理解你怎么能说你熟悉“数组”和“字节”的标准定义,却不明白“字节数组”一词的含义。你有什么困惑?

标签: .net arrays byte


【解决方案1】:

在 .NET 中,byte 基本上是一个从 0255 的数字(可以用 8 位表示的数字)。

所以,byte 数组只是数字 0 - 255 的数组。

在较低级别,数组是一个连续的内存块,而字节数组只是该内存在 8 位块中的表示。

【讨论】:

  • 谢谢...我写了以下简单的小程序,效果很好... static void Main(string[] args) { byte[] bytearray = new byte[] { 0, 1, 2 , 3, 254, 255 }; foreach (bytearray 中的字节 b) { Console.WriteLine("{0}",b.ToString()); } Console.ReadLine(); }
【解决方案2】:

byte[] 数组只是一个原始数据数组。例如,可以将大小为 2000 字节的文件加载到包含 2000 个元素的 byte[] 数组中。

【讨论】:

    【解决方案3】:

    从技术上讲,所有内存都是一个巨大的字节数组(32 位地址空间中最多 232 个可寻址字节)。在 C#(以及 C、C++、Java 和许多其他语言)中,字节数组只是一块连续的内存。因此,byte[n] 数组是 n 字节块。

    字节数组通常除了“字节”之外没有其他类型,它只是一个 8 位数据项。

    字节数组通常用于低级 I/O,例如文件和网络的读/写缓冲区、图形图像缓冲区以及“无类型”数据流。

    附录

    字节也称为 八位字节,即八位值。八位字节是当今使用的几乎所有计算机和信息系统之间进行数据交换的通用单位。

    即使使用 8 位值以外的其他值的系统和编码仍然使用八位字节来读取、写入和在这些系统之间传输数据。例如,音频 CD 声音样本被编码为一对以 44,100 Hz 采样的有符号 16 位值的立体声。但是,当作为平面文件(例如,作为 .WAV 文件)或数据流访问时,它会显示为八位字节序列。

    在编程语言的上下文中,这样的声音文件可以以其原始形式存储为单字节数组。

    【讨论】:

      【解决方案4】:

      一个字节是8位,一个字节数组,就是一个字节数组……真的就是这么简单。

      要记住的是 char 和 byte 是不同的。在旧的 C 风格中,char 和 byte 基本上是一回事。在 .NET 中,字符是 Unicode,每个字符可以是 8-32 位。这就是编码发挥作用的地方。可以将字符串转为字节数组,也可以通过Encoding类将字节数组转为字符串。

      【讨论】:

        【解决方案5】:

        这是一个byte 的数组。它是二进制数据 - 非结构化(就当时的语言而言 - 不同于无意义的!)数据,可以任意长。

        考虑从文件加载图片。在处理图像之前,您需要将文件读入byte[]

        【讨论】:

          【解决方案6】:

          字节数组:只有字节类型元素的数组。 字节:0 到 255 之间的正整数,闭区间。 A 和 B 是两个字节。

          如果 C = A + B,那么在数学上,C = (A + B) 模 256 如果 C = A - B,那么在数学上,C = (A - B) 模 256

          因此,您可以考虑(有时使用)您的 n 个元素的字节数组作为一个以 256 为基数的数字,具有 n 个数字。

          【讨论】:

            猜你喜欢
            • 2020-04-18
            • 2011-04-30
            • 2017-09-23
            • 2021-02-14
            • 2019-06-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多