Base85, también llamado Ascii85, representa cuatro bytes con cinco caracteres ASCII imprimibles. Esta herramienta sigue el comportamiento Ascii85 estilo Adobe.
Base85 es más compacto que Base64, lo que puede ser útil cuando los datos binarios deben incrustarse como texto imprimible.
Hello -> 87cURDZ
<~87cURDZ~> -> Hello
// npm install ascii85
const ascii85 = require('ascii85');
const encoded = ascii85.encode(Buffer.from('Hello')).toString();
console.log(encoded);
// Output: 87cURDZ
const decoded = ascii85.decode('87cURDZ').toString();
console.log(decoded);
// Output: Hello
package main
import (
"encoding/ascii85"
"fmt"
)
func main() {
dst := make([]byte, ascii85.MaxEncodedLen(len("Hello")))
n := ascii85.Encode(dst, []byte("Hello"))
encoded := string(dst[:n])
fmt.Println(encoded)
// Output: 87cURDZ
decoded := make([]byte, len("87cURDZ"))
n, _, _ = ascii85.Decode(decoded, []byte("87cURDZ"), true)
fmt.Println(string(decoded[:n]))
// Output: Hello
}
<?php
// composer require tuupola/base85
require 'vendor/autoload.php';
$base85 = new Tuupola\Base85;
$encoded = $base85->encode("Hello");
echo $encoded . "\n";
// Output: 87cURDZ
$decoded = $base85->decode("87cURDZ");
echo $decoded . "\n";
// Output: Hello