CoderTools

Codificador/Decodificador Base64

Codifique y decodifique rápidamente cadenas Base64, compatible con conversión de texto y archivos

Conjunto de caracteres

¿Qué es Base64?

Base64 es un esquema de codificación que representa datos binarios usando 64 caracteres ASCII imprimibles. Estos caracteres incluyen letras mayúsculas y minúsculas, números y algunos símbolos especiales. Base64 se usa ampliamente en escenarios donde los datos binarios necesitan transmitirse a través de canales de solo texto, como archivos adjuntos de correo electrónico y parámetros de URL. El esquema de codificación Base64 fue definido originalmente en RFC 4648 y la especificación MIME (RFC 2045).

Principio del Algoritmo de Codificación Base64:

El proceso de codificación Base64 se puede dividir en los siguientes pasos:

  1. Dividir los datos de entrada en grupos de 3 bytes cada uno
  2. Reorganizar estos 3 bytes (24 bits) en 4 grupos de 6 bits cada uno
  3. Mapear cada valor de 6 bits (rango 0-63) como un índice al conjunto de caracteres Base64
  4. Si el último grupo tiene menos de 3 bytes, rellenar con bits 0 y agregar el número correspondiente de signos igual (=) como relleno al final del resultado

Conjunto de Caracteres Base64: A-Z, a-z, 0-9, +, /

Carácter de Relleno: =

Ejemplo de Conversión:

Código ASCII para texto "Man": 77 97 110
Representación binaria: 01001101 01100001 01101110
Reagrupado en 6 bits: 010011 010110 000101 101110
Valores decimales: 19 22 5 46
Resultado Base64: T W F u

Implementación JavaScript Simplificada:

// Base64 encoding implementation example (simplified)
function base64Encode(str) {
    // Base64 character set
    const base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    let result = '';
    let i = 0;

    // Process every 3 characters as a group
    while (i < str.length) {
        const char1 = str.charCodeAt(i++);
        const char2 = i < str.length ? str.charCodeAt(i++) : 0;
        const char3 = i < str.length ? str.charCodeAt(i++) : 0;
        
        // Convert 3 8-bit bytes into 4 6-bit indices
        const triplet = (char1 << 16) + (char2 << 8) + char3;
        
        // Extract 4 6-bit values from the triplet
        const index1 = (triplet >> 18) & 0x3F;
        const index2 = (triplet >> 12) & 0x3F;
        const index3 = (triplet >> 6) & 0x3F;
        const index4 = triplet & 0x3F;
        
        // Add padding based on the original data length
        if (i - 3 > str.length) {
            result += base64chars[index1] + base64chars[index2] + '==';
        } else if (i - 2 > str.length) {
            result += base64chars[index1] + base64chars[index2] + base64chars[index3] + '=';
        } else {
            result += base64chars[index1] + base64chars[index2] + base64chars[index3] + base64chars[index4];
        }
    }
  
    return result;
}

Usos Comunes:

Características Avanzadas

Soporte de Formato Hexadecimal

Nuestra herramienta soporta entrada y salida en formato hexadecimal, útil para desarrolladores que trabajan con datos binarios en código de programa.

  • Entrada: Acepta formato hexadecimal como 0x11,0x22,0x33 o simple 112233
  • Salida: Convertir Base64 decodificado de vuelta a formato hexadecimal para incrustación de código

Soporte de Conjunto de Caracteres

Diferentes conjuntos de caracteres codifican texto de manera diferente en bytes. Nuestra herramienta soporta múltiples conjuntos de caracteres para manejar varias codificaciones de texto:

  • UTF-8: Codificación universal que soporta todos los caracteres Unicode (predeterminado)
  • ASCII: Codificación de 7 bits que soporta caracteres básicos en inglés (0-127)
  • Latin-1 (ISO-8859-1): Codificación de 8 bits que soporta caracteres de Europa Occidental (ISO-8859-1)
  • UTF-16: Codificación de 16 bits comúnmente utilizada por Windows y Java (Little Endian)

Notas Importantes:

Comparación de Base64 con Otras Codificaciones:

Tipo de Codificación Características Usos Principales
Base64 Usa 64 caracteres ASCII para representar datos binarios Archivos adjuntos de correo electrónico, transmisión de datos binarios en texto
Codificación URL Convierte caracteres especiales al formato %XX Paso de parámetros URL, envío de formularios
Codificación Hexadecimal Cada byte se representa como dos caracteres hexadecimales Representación de valor hash, visualización de datos binarios

Para más información oficial sobre Base64, consulte los siguientes recursos: RFC 4648 (Estándar Base64) | Wikipedia: Base64 | RFC 2045 (Especificación MIME)