Novidades do .NET 9: melhorias envolvendo encoding em Base64
O .NET 9 traz também melhorias envolvendo o encoding/decoding em Base64, através da nova classe Base64Url (namespace System.Buffers.Text). O surgimento deste novo tipo tem por objetivo resolver uma possível limitação envolvendo operações com o padrão Base64: a geração de strings contendo caracteres como “+” e “/”, o que poderia levar a problemas no uso destes valores como parâmetros/query strings em URLs.
Podemos observar as novas capacidades da classe Base64Url no exemplo a seguir:
- Testes iniciais (linhas 17 a 21) estão presentes para destacar as diferenças em relação a Base64Url com os métodos ToBase64String e FromBase64String do tipo Convert, recursos presentes desde os primórdios do .NET;
- Nos testes com Base64Url utilizei os métodos EncodeToString e DecodeFromChars (linhas 23 a 27).
A execução desta aplicação de exemplo trará o resultado apresentado na imagem a seguir. Os testes da classe Base64 demonstram a geração e manipulação de uma string quase idêntica àquela produzida com Convert, exceto pela presença do caracter “=” ao final do texto:
Este código foi disponibilizado no GitHub:
https://github.com/renatogroffe/DotNet9-ConsoleApp-Base64Url
Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!