Все строки в .NET являются Unicode в памяти.
Если у вас есть байтовый массив , который был сгенерирован из строки, закодированной в 1252, вы можете восстановить строку, используя
Dim S as String = System.Text.Encoding.GetEncoding(1252).GetString(array)
Теперь это строка Юникода в памяти. Если затем вы хотите закодировать эту строку в байтовый массив UTF-8 для передачи или хранения, вы должны сделать обратное:
Dim A as byte() = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(S)
(я думаю, что это правильный синтаксис VB!)