Convierta una imagen en una cadena Base64 en C#

Saad Aslam 12 octubre 2023
Convierta una imagen en una cadena Base64 en C#

Este artículo ilustrará cómo convertir una imagen en una cadena base64 usando C#.

La codificación en base64 es una técnica que se usa a menudo cuando existe la necesidad de transformar datos binarios en una representación textual. Numerosas aplicaciones, como enviar un correo electrónico mediante MIME y almacenar datos complicados en XML, utilizan con frecuencia el estándar de codificación base64.

Convertir una imagen a cadena Base64 en C#

En primer lugar, importe las bibliotecas para acceder a las clases y funciones del programa.

using System;

Cree una clase ImagetoBase64 y cree un método Main() dentro de esta clase.

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

Dentro de la función Main(), crea una variable imageArray de tipo matriz de bytes denotada como byte[] que convierte la imagen seleccionada en una matriz de bytes utilizando la función ReadAllBytes().

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

Cree una nueva variable llamada base64Image del tipo cadena. Esta variable convertirá los bytes de la imagen a base64 utilizando la función de la clase Convert ToBase64String()..

Esta función toma una parte de una matriz de enteros sin signo de 8 bits y genera una representación de cadena que se codifica con dígitos de base 64.

Los parámetros permiten al usuario definir el subconjunto como un desplazamiento dentro de la matriz de entrada y la cantidad de elementos de la matriz que se convertirán. También permite determinar si los saltos de línea deben incluirse o no en el resultado devuelto.

string base64Image = Convert.ToBase64String(imageArray);

Al final, todo lo que queda por hacer es mostrar la imagen una vez que se haya transformado en texto base64.

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

Código fuente completo:

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);
  }
}

Dado que la base64 es bastante larga, insertemos algunos ... para aclarar que continúa así.

Producción :

/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD......
Autor: 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

Artículo relacionado - Csharp Image