Como converter um array de bytes UTF-8 em uma string em C#?
Olá a todos! Sou um desenvolvedor C# iniciante e me deparei com um problema. Eu recebo um array de bytes de um fluxo de rede (socket TCP), que representa um texto codificado em UTF-8. Preciso converter esse `byte[]` de volta para uma string comum `string`, para exibi-la no console ou processá-la.
O problema é que não entendo como fazer isso corretamente. A conversão direta com `(string)buffer` não funciona, o compilador reclama. Tentei usar `Encoding.Default.GetString(buffer)`, mas no final obtenho caracteres ilegíveis em vez do texto em russo. Aqui está um exemplo de código que tenho:
```csharp
byte[] utf8Bytes = new byte[] { 208, 161, 208, 176, 208, 189, 208, 186, 209, 130 }; // Isso é "Санкт" em UTF-8
string result = Encoding.Default.GetString(utf8Bytes);
Console.WriteLine(result); // Exibe
```
No answers yet.
Faça login para deixar uma resposta