Вам необходимо исправить источник строки в первую очередь.
Строка в .NET на самом деле представляет собой просто массив 16-битных кодовых точек Юникода, символов, поэтому строка не находится в какой-либо конкретной кодировке.
Когда вы берете эту строку и конвертируете ее в набор байтов, кодирование вступает в игру.
В любом случае, как вы это сделали, кодировав строку в байтовый массив с одним набором символов, а затем расшифровав его с другим, как вы видите, работать не будет.
Можете ли вы рассказать нам больше о том, откуда взялась эта оригинальная строка, и почему вы думаете, что она была закодирована неправильно?