EfficTools Logo
EfficTools
Back to Blog
Base64

Guía completa de codificación Base64: Principios, aplicaciones y práctica

E
EfficTools Team
December 5, 202415 min read

Guía completa de codificación Base64: Principios, aplicaciones y práctica

¿Qué es la codificación Base64?

Base64 es un método de codificación que convierte datos binarios en cadenas ASCII. Utiliza 64 caracteres imprimibles (A-Z, a-z, 0-9, +, /) para representar datos binarios arbitrarios.

¿Por qué necesitamos Base64?

En las redes informáticas, muchos protocolos solo admiten la transmisión de datos de texto. Cuando necesitamos transmitir datos binarios (como imágenes, archivos, etc.) a través de estos protocolos, necesitamos convertir los datos binarios a formato de texto. Base64 fue creado para este propósito.

Casos de uso comunes

  • Adjuntos de correo electrónico: El protocolo MIME utiliza codificación Base64 para transmitir adjuntos binarios
  • Data URLs: Incrustar imágenes pequeñas en HTML/CSS
  • Tokens JWT: JSON Web Tokens utiliza codificación Base64URL
  • Transmisión API: Transmitir datos binarios en JSON
  • Principios de codificación Base64

    El principio básico de la codificación Base64 es dividir 3 bytes (24 bits) de datos binarios en 4 grupos de 6 bits cada uno, luego mapear cada grupo de 6 bits al carácter correspondiente en la tabla de caracteres Base64.

    Pasos de codificación

  • Convertir los datos de entrada a binario
  • Agrupar cada 3 bytes juntos
  • Dividir cada grupo de 24 bits en 4 grupos de 6 bits
  • Mapear cada grupo de 6 bits a un carácter Base64
  • Si el último grupo tiene menos de 3 bytes, rellenar con =
  • Usar Base64 en JavaScript

    ``javascript

    // Codificación

    const encoded = btoa('Hello, World!');

    console.log(encoded); // SGVsbG8sIFdvcmxkIQ==

    // Decodificación

    const decoded = atob('SGVsbG8sIFdvcmxkIQ==');

    console.log(decoded); // Hello, World!

    `

    Manejo de caracteres Unicode

    Dado que btoa solo puede manejar caracteres Latin1, manejar Unicode requiere codificación UTF-8 primero:

    `javascript

    // Codificar Unicode

    const encodeUnicode = (str) => {

    return btoa(encodeURIComponent(str).replace(

    /%([0-9A-F]{2})/g,

    (_, p1) => String.fromCharCode(parseInt(p1, 16))

    ));

    };

    // Decodificar Unicode

    const decodeUnicode = (str) => {

    return decodeURIComponent(

    atob(str).split('').map(

    c => '%' + c.charCodeAt(0).toString(16).padStart(2, '0')

    ).join('')

    );

    };

    ``

    Usar EfficTools para codificación/decodificación Base64

    Si no desea escribir código, puede usar directamente nuestra herramienta de codificación/decodificación Base64, que admite:

    • Codificación de texto a Base64
    • Decodificación de Base64 a texto
    • Soporte perfecto para caracteres Unicode
    • Codificación Base64 de archivos

    Resumen

    Base64 es un método de codificación importante con amplias aplicaciones en el desarrollo web. Comprender sus principios y métodos de uso es muy útil para manejar varios escenarios de transmisión de datos.

    Base64CodificaciónTutorialJavaScript
    Share this article