Когда вы конвертируете в ASCII, вы сразу теряете все неанглийские символы (включая символы с акцентом), потому что ASCII содержит только 127 (7 бит) символов.
Вы делаете странные манипуляции.string
в .net находится в UTF-16, поэтому, как только вы вернете string
, а не byte[]
, это не имеет значения.
Я думаю, что вы должны сделать:)
public byte[] Encode(string text)
{
return Encoding.GetEncoding(1252).GetBytes(text);
}
Так как вопрос был не очень ясен, есть разумное замечание, что этот вопрос может вам действительно понадобиться:
public string Decode(byte[] data)
{
return Encoding.GetEncoding(1252).GetString(data);
}