O URL do YouTube não pode ser convertido para base64 novamente

O URL do YouTube não pode ser convertido para base64 novamente

Quando tentei codificar o URL do YouTube novamente para base64, o valor após = não mudou, exceto as duas primeiras letras. Isso já está em base64? Url convertido:http://www.youtube.com/watch?v=CvUN8qg9lsk

Saída (b64): http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCvUN8qg9lsk

Por que eles são iguais?

Responder1

Quando tentei codificar novamente um URL do YouTube para base64, o valor após o =sinal não mudou, exceto as duas primeiras letras. A última parte já está em base64?

Sem o =sinal que está sendo traduzido %3D, sim, CvUN8qg9lskjá está codificado em Base64.

Por que eles são iguais?

Como aponta @LPChip, a função que você está usando é um codificador de URL que traduz apenas caracteres especiais na URL ( ,,, e :) em seus equivalentes hexadecimais (não em letras normais)./?+=

Base64 também inclui outra codificação, certo?

Embora a codificação de URL seja considerada uma forma de codificação Base64, vale a pena observar que esse termo está potencialmente sobrecarregado. PorWikipédia(enfase adicionada):

"Base64 é umgrupo de esquemas semelhantes de codificação binária para textoque representam dados binários em um formato de string ASCII, traduzindo-os em uma representação de base 64."

Resumindo, a base64função que você está usando não se destina a codificar/decodificar CvUN8qg9lsk.

Como uma pequena observação lateral, se você adicionar um =(preenchimento) e tentar traduzir, por exemplo, CvUN8qg9lsk=com um codificador/decodificador Base64 "normal", isso pode funcionar. Dito isto, é improvável que você consiga algo que valha a pena (ou seja, que seja significativo para os humanos). É muito provável que os valores que o YouTube usa para obter seus IDs sejam produto de um algoritmo muito específico que provavelmente não tem relação com nada fora do Google/YouTube.

informação relacionada