Member 14479145 Ответов: 0

Кодировка C# синтаксический анализ ответа, полученного от сервера MQ


Привет,

В одном из моих приложений я использую IBM MQ для запроса/ ответа, все работает нормально, пока я не получу ответ в Тайский символы, которые были получены/ показаны как мусор (потерянные символы) "Я пишу ответ на файл, используя кодировку UTF-8". когда я открываю ответ и подаю заявку Тайский набор символов в файл ответов в Notepad++ показывает правильное значение.
Ниже приведен ответ, который я получил-

<Name1>กลุ่ม</Name1>


На данный момент я пишу ответ на временный файл на диске и читаю этот ответ используя кодировку как показано ниже это работает-

Encoding encd = Encoding.GetEncoding(874);
System.IO.File.WriteAllText("D:\\temp_1.txt", _response);
string s = System.IO.File.ReadAllText("D:\\temp_1.txt", encd);


То же самое я пытаюсь достичь с помощью строки это не работает

byte[] data = System.Text.Encoding.Unicode.GetBytes(_response);
string xyz = encd.GetString(data);
oLogger.LogDebugMessage("Response encd: " + xyz);


Я не хочу писать ответ в файл и читать его через это не представляется возможным. Может ли кто-нибудь предложить что-нибудь с использованием Строковой кодировки?

Что я уже пробовал:

Я пробовал конвертировать ответ в строку в Юникод

<pre>byte[] data = System.Text.Encoding.Unicode.GetBytes(_response);
string xyz = encd.GetString(data);
oLogger.LogDebugMessage("Response encd: " + xyz);

Gerry Schmitz

Похоже, вы путаете мусор с использованием неправильного шрифта для конкретной "презентации" (Notepad++ vs console output).

0 Ответов