Novidades do C# 11: UTF-8 String Literals

Renato Groffe
2 min readNov 27, 2022

O C# 11 também traz melhorias na manipulação de strings no formato UTF-8, contando agora com o sufixo u8 que pode ser adicionado ao final de uma sequência de texto que necessite ser representada neste padrão.

No exemplo a seguir temos um exemplo de uso desta nova capacidade:

var parte1 = "Exemplo utilizando Utf-8 no C# 11 "u8;

Uma string literal baseada em UTF-8 será então tratada como um conjunto de bytes baseado no tipo ReadOnlySpan<byte>, conforme podemos visualizar na declaração da variável parte1 a partir de um exemplo no Visual Studio Code:

A versão completa com esse exemplo está na próxima listagem, com as variáveis parte1 e parte2 fazendo uso do sufixo u8. O conteúdo das mesmas será em seguida agrupado e salvo em um arquivo de texto (.txt), com isto acontecendo por meio de uma instância do tipo FileStream:

Na próxima imagem podemos visualizar um exemplo de arquivo criado ao executar este código, com o conteúdo do mesmo possuindo como encoding o padrão UTF-8:

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

Este exemplo também foi disponibilizado no GitHub:

https://github.com/renatogroffe/CSharp11-Utf8StringLiterals

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.

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