2010-06-21 3 views
11

byte 배열은. NET 프레임 워크의 컨텍스트에 무엇입니까?바이트 [] 배열이란 무엇입니까?

저는 arraybyte과 같은 표준 정의에 익숙하며 Byte와 같은 전자 공학 개념에 대해 잘 알고 있습니다. 그러나 컴퓨터 과학 개념의 측면에서 그것을 연결하지 못했습니다. 나는 그것이 어디에서나 사용되는 것을보고, 그것을 그것을 깊이 이해함과 동시에 사용합니다.

+2

은 바이트 배열이 다른 배열과 어떻게 다릅니 까? 바이트 배열에 대해 명시 적으로 묻는 이유는 무엇입니까? – Andrey

+7

"배열"과 "바이트"의 표준 정의에 익숙하지만 "바이트 배열"이라는 용어의 의미를 이해할 수 없다는 것을 이해하는 것이 어렵습니다. 너 혼란스러워? –

답변

16

.NET에서 byte은 기본적으로 0에서 255 (8 비트로 나타낼 수있는 숫자)의 숫자입니다.

하며,이 byte 배열 번호 0 단지 어레이는 - 낮은 레벨 255

배열 메모리의 연속 블록이며, 바이트 어레이는 메모리 단지 표현이며 8 비트 덩어리.

+0

감사합니다 ... 나는 다음과 같은 간단한 애플릿을 쓴 그리고 ... 좋은 작품 정적 무효 메인 (문자열 []에 인수) { 바이트 []이 ByteArray = 새로운 바이트 [] {0, 1, 2, 3 , 254, 255}; foreach (bytearray의 바이트 b) { Console.WriteLine ("{0}", b.ToString()); } Console.ReadLine(); } –

3

byte의 배열입니다. 이진 데이터 - 임의의 길이가 될 수있는 무의미한 데이터와는 다른, 해당 시점의 언어 측면에서 구조화되지 않은 데이터입니다.

파일에서 사진을로드하는 것을 생각하십시오. 이미지로 작업하기 전에 파일을 byte[]으로 읽어보십시오.

9

byte[] 배열은 단순히 원시 데이터의 배열입니다. 예를 들어, 크기가 2000 바이트 인 파일을 byte[] 2000 요소 배열에로드 할 수 있습니다.

5

바이트는 8 비트이고 바이트 배열은 바이트 배열입니다 ... 정말 간단합니다.

명심해야 할 것은 char와 byte가 다르다는 것입니다. 오래된 C 스타일에서 char과 byte는 기본적으로 같은 것이 었습니다. .NET에서 문자는 이고 문자 당 8-32 비트가 될 수 있습니다. 이것이 인코딩이 작용하는 곳입니다. 문자열을 바이트 배열로 변환 할 수 있으며 Encoding 클래스를 사용하여 바이트 배열을 문자열로 변환 할 수 있습니다.

7

기술적으로 모든 메모리는 하나의 거대한 바이트 배열입니다 (32 비트 주소 공간에서 최대 주소는 2 입니다). C# (및 C, C++, Java 및 기타 많은 언어)에서 바이트 배열은 단순히 연속적인 메모리 덩어리입니다. 따라서 byte[n] 배열은 n 바이트의 블록입니다.

바이트 배열은 일반적으로 단순히 "8 비트 데이터 항목"인 "바이트"이외의 형식이 없습니다.

바이트 배열은 일반적으로 파일 및 네트워크의 읽기/쓰기 버퍼, 그래픽 이미지 버퍼 및 "형식화되지 않은"데이터 스트림과 같은 하위 수준 I/O에 사용됩니다.

부록

바이트도 옥텟, 즉 8 비트의 값으로 알려져있다. 옥텟은 오늘날 사용되는 거의 모든 컴퓨터 및 정보 시스템 간의 데이터 교환을위한 보편적 인 단위입니다.

8 비트 값 이외의 것을 사용하는 시스템 및 인코딩조차도 여전히 해당 시스템간에 데이터를 읽고 쓰고 전송할 때 8 진수를 사용합니다. 예를 들어, 오디오 CD 사운드 샘플은 44,100 Hz에서 샘플링 된 부호있는 16 비트 값의 스테레오 쌍으로 인코딩됩니다. 플랫 파일로 액세스 할 때 (예 :.WAV 파일) 또는 데이터 스트림이 있지만, 그것은 옥텟 시퀀스로 나타납니다.

프로그래밍 언어와 관련하여 그러한 사운드 파일은 원시 형식으로 단일 바이트 배열로 저장 될 수 있습니다.

0

바이트 배열 : 바이트 형식의 요소 만 포함하는 배열입니다. 바이트 : 0과 255 사이의 양의 정수, 닫힌 인터벌입니다. A와 B는 2 바이트입니다.

경우 C = A + B 후, 수학적으로, C = (A + B)는 모듈로 256 경우 C = A - B 후, 수학적으로, C = (A - B) 모듈 (256)

그래서 , 당신은 n 엘리먼트로 구성된 Byte Array를 n 개의 숫자로 256 기수의 숫자로 생각할 수 있습니다.

관련 문제