什么是byte []数组?

时间:2010-06-21 22:40:55

标签: .net arrays byte

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

我熟悉arraybyte等标准定义,并且非常熟悉Byte等电子工程概念。但我无法将其与计算机科学概念联系起来。我看到它在任何地方都使用过,我使用它并深入了解它。

6 个答案:

答案 0 :(得分:18)

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

因此,byte数组只是数字0 - 255的数组。

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

答案 1 :(得分:9)

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

答案 2 :(得分:7)

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

字节数组通常没有“byte”以外的类型,这只是一个8位数据项。

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

<强>附录

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

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

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

答案 3 :(得分:5)

一个字节是8位,一个字节数组是一个字节数组......真的很简单。

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

答案 4 :(得分:3)

这是byte的数组。这是二进制数据 - 非结构化(就那个时间点的语言而言 - 与无意义的不同!)数据可以任意长。

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

答案 5 :(得分:0)

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

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

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