Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Convert.ToBase64String() 메서드 사용법 완벽 정리

C#의 Convert.ToBase64String() 메서드는 8비트 부호 없는 정수(byte) 배열의 값을 Base-64 숫자로 인코딩된 동등한 문자열 표현으로 변환하는 데 사용됩니다.

Base64 인코딩이란?

Base64는 바이너리 데이터를 텍스트 형태로 안전하게 전송하거나 저장하기 위해 널리 쓰이는 인코딩 방식입니다. 이메일 첨부 파일(MIME), 데이터 URI, XML·JSON 내 이진 데이터 전달 등 다양한 환경에서 활용되며, C#에서도 byte 배열을 손쉽게 문자열로 변환할 때 자주 사용됩니다.

문법(Syntax)

Convert.ToBase64String() 메서드의 기본 문법은 다음과 같습니다.

public static string ToBase64String (byte[] arr);

여기서 매개변수 arr은 Base-64 문자열로 변환할 8비트 부호 없는 정수 배열을 의미합니다. 메서드는 변환된 Base-64 문자열을 반환합니다.

주요 오버로드

  • ToBase64String(byte[]) – 배열 전체를 변환합니다.
  • ToBase64String(byte[], int, int) – 지정한 오프셋부터 길이만큼만 변환합니다.
  • ToBase64String(byte[], Base64FormattingOptions) – 줄바꿈 삽입 여부 등 출력 형식 옵션을 지정할 수 있습니다.

예제 코드

다음은 Convert.ToBase64String() 메서드를 실제로 구현한 예제입니다.

using System;
public class Demo {
   public static void Main(){
      byte[] val1 = {5,10,15,20,25,30};
      string str = Convert.ToBase64String(val1);
      Console.WriteLine("Base 64 문자열: '{0}'", str);
      byte[] val2 = Convert.FromBase64String(str);
      Console.WriteLine("변환된 바이트 값: {0}", BitConverter.ToString(val2));
   }
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Base 64 문자열: 'BQoPFBke'
변환된 바이트 값: 05-0A-0F-14-19-1E

코드 설명

예제에서는 먼저 6개의 요소를 가진 byte 배열 val1을 선언하고, Convert.ToBase64String() 메서드를 통해 이를 Base-64 문자열로 변환했습니다. 그런 다음 반대 연산을 수행하는 Convert.FromBase64String() 메서드를 사용해 해당 문자열을 다시 원래의 byte 배열로 복원했으며, BitConverter.ToString()으로 각 바이트 값을 확인했습니다.

출력 결과에서 복원된 바이트 값(05-0A-0F-14-19-1E)이 처음 배열 {5,10,15,20,25,30}과 16진수로 정확히 일치하는 것을 확인할 수 있습니다. 즉, Base-64 인코딩 후 디코딩해도 원본 데이터가 손실 없이 유지됨을 알 수 있습니다.