Необратимое преобразование кодировки строк C#C#

Место общения программистов C#
Ответить
Гость
 Необратимое преобразование кодировки строк C#

Сообщение Гость »


Я использую библиотеку Newtonsoft.Json для анализа простого файла json с содержимым {"key": "强回声", закодированным в UTF-8, затем я нашел вот эту запутанную вещь:

byte[] data_utf8 = { 123, 34, 107, 101, 121, 34, 58, 32, 34, 229, 188, 186, 229, 155, 158, 229, 163, 176, 34, 125}; Console.WriteLine(string.Join(", ", data_utf8)); Console.WriteLine(Encoding.UTF8.GetString(data_utf8)); вар Ansi_String = Encoding.Default.GetString(data_utf8); вар Ansi_bytes = Encoding.Default.GetBytes(Ansi_String); Console.WriteLine(string.Join(", ", Ansi_bytes)); Console.WriteLine(Encoding.UTF8.GetString(Ansi_bytes)); Выход:

123, 34, 107, 101, 121, 34, 58, 32, 34, 229, 188, 186, 229, 155, 158, 229, 163, 176, 34, 125 {"key": "强回声"} 123, 34, 107, 101, 121, 34, 58, 32, 34, 229, 188, 186, 229, 155, 158, 229, 163, 63, 125. {"key": "强回??} Вопрос в том, что если у меня есть строка типа Ansi_String, можно ли ее восстановить?

---- ОБНОВЛЕНИЕ ----
Я использую китайскую языковую систему, поэтому приведенный выше код должен заменить
Encoding.Default => Encoding.GetEncoding("gb2312")
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»