.NET Преобразование из строки шестнадцатеричных значений в символы Юникода (поддержка разных кодовых страниц)

У меня есть строка шестнадцатеричных значений ...

String hexString = "8A65";

Мне нужно преобразовать эту строку в их эквиваленты Unicode. Сложность в том, что мне нужно поддерживать разные кодовые страницы, и некоторые кодовые страницы имеют «8A65» = один символ, тогда как другие кодовые страницы преобразуют его в два символа.

У меня нет предварительных сведений о том, какую кодовую страницу я буду использовать, пока мне не понадобится выполнить преобразование.

Я пробовал все виды вещей, таких как

byte[] original = Encoding.Unicode.GetBytes(hexString);
byte[] conv= Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(932), orig);
char[] chars = Encoding.GetEncoding(932).GetChars(conv);

Примечание: кодовая страница 932 на японском языке

РЕШЕНИЕ

string hexString = "8A65";
int length = hexString.length;
byte[] bytes = new byte[length / 2];

for (int i = 0; i < length; i += 2)
{
    bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16);
}

char[] chars = Encoding.GetEncoding(932).GetChars(bytes);

Спасибо pstrjds, вы спасатель жизни!

Ответы на вопрос(2)

Ваш ответ на вопрос