Cuando intenté codificar la URL de YouTube nuevamente en base64, el valor después de = no cambió excepto las dos primeras letras. ¿Eso ya está en base64? URL convertida:http://www.youtube.com/watch?v=CvUN8qg9lsk
Salida (b64): http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCvUN8qg9lsk
¿Por qué son iguales?
Respuesta1
Cuando intenté codificar una URL de YouTube en base64 nuevamente, el valor después del
=
signo no cambió, excepto las dos primeras letras. ¿La última parte ya está en base64?
Menos el =
signo que se está traduciendo %3D
, sí, CvUN8qg9lsk
ya está codificado en Base64.
¿Por qué son iguales?
Como señala @LPChip, la función que está utilizando es un codificador de URL que traduce solo caracteres especiales en la URL ( ,, y :
) a sus equivalentes hexadecimales (no letras normales) /
.?
+
=
Base64 también incluye otra codificación, ¿verdad?
Si bien la codificación de URL se considera una forma de codificación Base64, vale la pena señalar que ese término está potencialmente sobrecargado. PorWikipedia(énfasis añadido):
"Base64 es ungrupo de esquemas de codificación de binario a texto similaresque representan datos binarios en un formato de cadena ASCII traduciéndolos a una representación radix-64".
En resumen, la base64
función que está utilizando no está destinada a codificar/decodificar CvUN8qg9lsk
.
Como pequeña nota al margen, si agrega un =
(relleno) e intenta traducir, por ejemplo, CvUN8qg9lsk=
con un codificador/decodificador Base64 "normal", esto puede funcionar. Dicho esto, es poco probable que consigas algo que valga la pena (es decir, que tenga significado para los humanos). Es muy probable que los valores que utiliza YouTube para obtener sus ID sean producto de un algoritmo muy específico que probablemente no tenga relación con nada fuera de Google/YouTube.