¿Alguien puede decirme por qué el resultado de base64 da un resultado diferente para PHP?
con Javascript que da el resultado correcto
decimal 68 98 7 mostrará RGIH https://v2.cryptii.com/decimal/base64 javascript decimal a base64
por qué en php no veo el mismo resultado
con este codigo
$x = floatval('68 98 7'); echo base64_encode($x);
mostrará Njg=
Gracias
Esto se debe a que el sitio web que ha publicado no interpreta los decimales como decimales, sino como valores decimales para sus contrapartes ASCII. Si desea realizar la misma operación en PHP, primero puede transformar la cadena decimal en una matriz explotando los espacios, aplicando chr
a cada entrada de la matriz y luego codificando en base64 la matriz implosionada:
$decimals = '68 98 7'; $chars = array_map(fn($decimal) => chr((int)$decimal), explode(' ',$decimals)); echo base64_encode(implode('', $chars));