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

0

Quando tentei codificar o URL do YouTube novamente para base64, o valor depois de = não mudou, exceto as duas primeiras letras. Isso já está na base64? URL convertido: link

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

Por que eles são iguais?

    
por Ben Druno 03.04.2018 / 12:50

1 resposta

0

When I tried to encode a YouTube URL to base64 again, the value after the = sign didn't change, except for the first two letters. Is the last portion already in base64?

Menos o sinal = sendo traduzido em %3D , sim, CvUN8qg9lsk já está codificado em Base64.

Why are they the same?

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

Base64 includes other encoding too, right?

Embora a codificação de URL seja considerada uma forma de codificação Base64, vale a pena observar que esse termo está potencialmente sobrecarregado. Por Wikipedia (grifo nosso):

"Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation."

Em suma, a função base64 que você está usando não deve codificar / decodificar CvUN8qg9lsk .

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

    
por 07.04.2018 / 14:06