Novidades do .NET 9: melhorias envolvendo encoding em Base64

Renato Groffe
2 min readOct 27, 2024

--

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:

Clique nesta imagem para visualizar com uma melhor resolução

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!

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

No responses yet