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!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

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

No responses yet

Write a response