Como obter uma representação consistente de bytes de cordas em C# sem especificar manualmente uma codificação?
Como faço para converter uma string para um byte em .NET (C#) sem especificar manualmente uma codificação específica?
I'vou encriptar a corda. Eu posso criptografá-la sem converter, mas I'ainda gostaria de saber porque a codificação vem para tocar aqui.
Além disso, por que a codificação deve ser levada em consideração? Posso'não posso simplesmente obter em que bytes a string foi armazenada? Por que há uma dependência de codificações de caracteres?
2111
3
Depende da codificação da sua string (ASCII, UTF-8, ...).
Por exemplo:
Uma pequena amostra do porquê da codificação:
O ASCII simplesmente não está equipado para lidar com caracteres especiais.
Internamente, o framework .NET utiliza UTF-16 para representar strings, então se você simplesmente quer obter os bytes exatos que o .NET utiliza, utilize
System.Text.Encoding.Unicode.GetBytes (...)
.Veja Codificação de Caracteres no .NET Framework (MSDN) para mais informações.