什么是byte数组是在.NET框架的上下文中?
我熟悉标准定义,比如array和byte熟悉电子工程概念,比如Byte.但我无法将其与计算机科学概念联系起来.我看到它在任何地方都使用过,而且我在深入了解它的同时使用它.
jjn*_*guy 18
在.NET中,一个byte基本上是从一个数0到255(能够通过8位表示的数字).
因此,byte数组只是数字0 - 255的数组.
在较低级别,数组是连续的内存块,而字节数组只是8位块中该内存的表示.
从技术上讲,所有内存都是一个巨大的字节数组(在32位地址空间中最多可达2 32个可寻址字节).在C#(和C,C++,Java和许多其他语言)中,字节数组只是一块连续的内存块.因此,byte[n]数组是一个n字节块.
字节数组通常没有"字节"以外的类型,它只是一个8位数据项.
字节数组通常用于低级I/O,例如用于文件和网络的读/写缓冲区,用作图形图像缓冲区,以及用作"无类型"数据流.
附录
字节也称为八位字节,即八位值.八位字节是当今使用的几乎所有计算机和信息系统之间数据交换的通用单元.
即使使用8位值之外的其他系统和编码,仍然使用八位字节来在这些系统之间读取,写入和传输数据.例如,音频CD声音样本被编码为以44,100Hz采样的带符号的16位值的立体声对.但是,当作为平面文件(例如,作为.WAV文件)或数据流进行访问时,它显示为八位字节序列.
因此,在编程语言的上下文中,这样的声音文件可以以其原始形式存储为单字节数组.