[java] 바이트 배열이란 무엇을 의미합니까? [닫은]

누군가 설명해 주시겠습니까? 정확히 개념을 이해하지 못합니다.

바이트 배열이란 무엇입니까?

응용 프로그램 / 프로그램에서 언제 어디서 사용합니까?

바이트 배열 사용의 장단점은 무엇입니까?



답변

바이트는 8 비트 (이진 데이터)입니다.

바이트 배열은 바이트 배열입니다 (tautology FTW!).

바이트 배열을 사용하여 이진 데이터 모음 (예 : 파일 내용)을 저장할 수 있습니다. 단점은 전체 파일 내용을 메모리에로드해야한다는 것입니다.

많은 양의 이진 데이터의 경우 언어가 지원하는 경우 스트리밍 데이터 유형을 사용하는 것이 좋습니다.


답변

나는 당신이 바이트가 무엇인지 알고 있다고 가정합니다. 바이트 배열은 연속적인 (나란히있는) 바이트 그룹을 포함하는 메모리 영역이므로 첫 번째 바이트, 두 번째 바이트 등 순서대로 이야기하는 것이 합리적입니다.

바이트가 다른 유형과 데이터 범위 (0에서 255 사이의 숫자, -128에서 127 사이의 숫자, ASCII를 사용하는 단일 문자 (예 : ‘a’또는 ‘%’, CPU 연산 코드))를 인코딩 할 수있는 것처럼 바이트 배열의 각 바이트 이러한 것 중 하나 일 수도 있고, 범위가 더 큰 숫자 (예 : 0..65535의 16 비트 부호없는 정수), 국제 문자 세트, 텍스트 문자열 ( “hello”) 또는 part /와 같은 일부 멀티 바이트 값에 기여할 수 있습니다. 컴파일 된 모든 컴퓨터 프로그램.

바이트 배열의 중요한 점은 메모리의 해당 부분에 저장되는 각 8 비트 값에 대한 인덱스 된 (빠르고) 정확하고 원시 액세스를 제공하고 해당 바이트에서 모든 단일 비트를 제어 할 수 있다는 것입니다. 나쁜 점은 컴퓨터가 모든 항목을 독립적 인 8 비트 숫자로 취급한다는 것입니다. 프로그램이 처리하는 것일 수도 있고, 자신의 길이를 추적하고 성장하는 문자열과 같은 강력한 데이터 유형을 선호 할 수도 있습니다. 필요에 따라 또는 비트 단위 표현에 대해 생각하지 않고 3.14를 저장할 수있는 부동 소수점 숫자. 데이터 유형으로서 긴 배열의 시작 부분에 데이터를 삽입하거나 제거하는 것은 비효율적입니다. 생성 / 필요한 간격을 만들거나 채우기 위해 모든 후속 요소를 섞어 야하기 때문입니다.


답변

에서 위키 피 디아 :

컴퓨터 과학에서 배열 데이터 구조 또는 단순히 배열은 하나 이상의 정수 인덱스로 식별되는 요소 (값 또는 변수) 모음으로 구성된 데이터 구조로, 각 요소의 주소가 해당 인덱스에서 계산 될 수 있도록 저장됩니다. 간단한 수학 공식으로 튜플.

따라서 바이트 배열이라고하면 바이트 (8 비트) 크기의 요소 모음을 포함하는 정의 된 길이 (예 : 요소 수)의 배열을 의미합니다.

C #에서 바이트 배열은 다음과 같습니다.

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

위의 샘플은 각 요소의 길이 가 최대 Byte 일 수있는 4 개 요소의 배열을 정의합니다 .


답변