C# 바이트 배열을 문자열로 변환

Minahil Noor 2024년2월16일
  1. C#에서Encoding.GetString()메서드를 사용하여Byte ArrayString으로 변환
  2. MemoryStream 메소드를 사용하여Byte ArrayString으로 변환하는 C# 프로그램
C# 바이트 배열을 문자열로 변환

바이트 배열은 바이트 배열입니다. C#에서 바이트 배열은 0-255 범위의 양수 값만 저장하는 데 사용됩니다. 어레이의 각 요소는 1 바이트 (8 비트)의 메모리 공간을 갖습니다.

C#에서바이트 배열은 일반배열처럼 처리 될 수 있습니다. ‘바이트 배열’이 동등한 ‘문자열’로 변환 될 수 있다는 것은 흥미 롭습니다. ‘문자열’은 다른 인코딩 값으로 변환 된 다음 ‘바이트 배열’에 저장 될 수 있습니다.

이 기사에서는 ‘바이트 배열’을 ‘문자열’로 변환하는 여러 가지 방법을 살펴 보겠습니다.

C#에서Encoding.GetString()메서드를 사용하여Byte ArrayString으로 변환

Encoding.GetString()메소드는 ‘바이트 배열’의 모든 ‘바이트’를 ‘문자열’로 변환합니다. 이 메소드는 Encoding클래스에 속합니다. 이 클래스는Unicode,UTF8,ASCII,UTF32 등과 같은 다른 인코딩 체계를 가지고 있습니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

Encoding.Default.GetString(ByteArrayName);

여기에서는Encoding.Default.GetString()이 사용되며, 바이트 배열의 바이트는 기본 유형 인 문자열로 변환됩니다. 기본 인코딩 체계를 사용합니다.

예제 코드:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

출력:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

MemoryStream 메소드를 사용하여Byte ArrayString으로 변환하는 C# 프로그램

C#에서MemoryStream 클래스는 데이터 스트림을 만드는 데 사용됩니다. 이 클래스는 System.IO 네임 스페이스에 속합니다. 바이트 배열문자열로 변환하는 데 사용할 수 있습니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

여기에서는 특정 바이트 배열의 바이트를 포함하는MemoryStream을 만든 다음StreamReader를 사용하여MemoryStream에서 모든 바이트를 읽고 스트림을 문자열로 반환합니다.

우리는BytesToStringConversion()이라는 사용자 정의 메소드를 작성하여바이트 배열을 매개 변수로 승인 한 다음string을 리턴합니다.

예제 코드:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

출력:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

관련 문장 - Csharp Byte Array

관련 문장 - Csharp String