C#에서 이미지를 Base64 문자열로 변환

Saad Aslam 2023년10월12일
C#에서 이미지를 Base64 문자열로 변환

이 기사에서는 C#을 사용하여 이미지를 base64 문자열로 변환하는 방법을 설명합니다.

base64로 인코딩하는 것은 이진 데이터를 텍스트 표현으로 변환해야 할 때마다 자주 사용되는 기술입니다. MIME을 사용하여 이메일을 보내고 XML에 복잡한 데이터를 저장하는 것과 같은 수많은 응용 프로그램은 자주 base64 인코딩 표준을 사용합니다.

C#에서 이미지를 Base64 문자열로 변환

먼저 프로그램의 클래스와 함수에 액세스하기 위해 라이브러리를 가져옵니다.

using System;

ImagetoBase64 클래스를 생성하고 이 클래스 내에 Main() 메서드를 생성합니다.

class ImagetoBase64 {
  public static void Main() {}
}

Main() 함수 내에서 ReadAllBytes() 함수를 사용하여 선택한 이미지를 바이트 배열로 변환하는 byte[]로 표시된 바이트 배열 유형의 imageArray 변수를 만듭니다.

byte[] imageArray = System.IO.File.ReadAllBytes("E://image.jpg");

문자열 유형의 base64Image라는 새 변수를 만듭니다. 이 변수는 Convert 클래스의 함수 ToBase64String().을 사용하여 그림의 바이트를 base64로 변환합니다.

이 함수는 8비트 부호 없는 정수 배열의 일부를 취하여 base-64 숫자를 사용하여 인코딩된 문자열 표현을 생성합니다.

매개변수를 사용하면 사용자가 하위 집합을 입력 배열 내부의 오프셋으로 정의하고 변환할 배열 항목 수를 정의할 수 있습니다. 또한 반환 결과에 줄 바꿈을 포함해야 하는지 여부를 결정할 수 있습니다.

string base64Image = Convert.ToBase64String(imageArray);

결국 남은 작업은 base64 텍스트로 변환된 그림을 표시하는 것입니다.

Console.WriteLine("Base 64 string\n\n" + base64Image);

완전한 소스 코드:

using System;

class ImagetoBase64 {
  public static void Main() {
    byte[] imageArray = System.IO.File.ReadAllBytes("E://image.jpg");
    string base64Image = Convert.ToBase64String(imageArray);

    Console.WriteLine("Base 64 string\n\n" + base64Image);
  }
}

base64는 다소 길기 때문에 ...를 삽입하여 이와 같이 계속된다는 것을 명확히 합니다.

출력:

/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD......
작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - Csharp Image