web-dev-qa-db-ja.com

バイト配列とはどういう意味ですか?

誰か説明してください、私は正確にそれを取得しません

バイト配列とは
アプリケーション/プログラムで使用する場所と時期
バイト配列を使用する利点と欠点は何ですか

92
daydreamer

1バイトは8ビット(バイナリデータ)です。

バイト配列は、バイトの配列です(トートロジーFTW!)。

バイト配列を使用して、たとえばファイルの内容などのバイナリデータのコレクションを格納できます。これの欠点は、ファイルの内容全体をメモリにロードする必要があることです。

大量のバイナリデータの場合、言語でサポートされている場合はストリーミングデータタイプを使用することをお勧めします。

65
Phil

バイトが何であるか知っていると思います。バイト配列は、連続した(並んでいる)バイトのグループを含むメモリの領域であり、最初のバイト、2番目のバイトなど、順番に話すことが理にかなっています。

バイトがさまざまなタイプと範囲のデータをエンコードできるように(0から255の数字、-128から127の数字、ASCII例 'a'または '%'を使用した単一の文字、CPU op-コード)、バイト配列の各バイトはこれらのいずれかであるか、またはより大きな範囲の数値(0..65535からの16ビット符号なしintなど)、国際文字セット、テキスト文字列などの一部のマルチバイト値に寄与する可能性があります( "hello")、またはコンパイルされたコンピュータープログラムの一部/すべて。

バイト配列の重要な点は、メモリのその部分に格納されている各8ビット値にインデックス付き(高速)で正確な未加工のアクセスを提供し、それらのバイトを操作してすべての単一ビットを制御できることです。悪いことは、コンピューターがすべてのエントリを独立した8ビット数として扱うだけであるということです。これは、プログラムが扱っているものかもしれません。または、独自の長さを追跡して成長する文字列などの強力なデータ型を好むかもしれません必要に応じて、またはビット単位の表現を考えずに3.14を保存できる浮動小数点数。データ型として、長い配列の開始近くにデータを挿入または削除するのは非効率的です。これは、後続のすべての要素をシャッフルして、作成/必要なギャップを埋めるまたは埋める必要があるためです。

47
user433534

wikipedia から:

コンピューターサイエンスでは、配列データ構造または単純な配列は、各要素のアドレスがそのインデックスから計算できるように格納された要素(値または変数)のコレクションで構成されるデータ構造です。単純な数式によるタプル。

したがって、バイト配列とは、バイト(8ビット)サイズの要素のコレクションを含む定義済みの長さ(要素の数など)の配列を指します。

C#では、バイト配列は次のようになります。

byte[] bytes = { 3, 10, 8, 25 };

上記のサンプルでは、​​4つの要素の配列を定義しています。各要素の長さは Byte までです。

10
Miguel Sevilla