@ DanM: Вам нужно , чтобы узнать, в каком наборе символов введен ваш ввод.
«DisplaygröÃe» - это то, что вы увидите, если вы возьмете строку «Displaygröße» (предложено Владом), закодируете ее в байты как UTF-8, а затем неправильно декодируете ее как latin1.
Если вы сделаете то же самое с Displaygröÿe, вы увидите «Displaygröe» (буквально там есть перевернутый знак вопроса, это не заполнитель для чего-то, что не может быть отображено.) Технически, «Displaygrö У "вероятно" есть другой символ между Ã
и e
, но это контрольный код, и поэтому он невидим для вас.
Если у вас есть набор символов foo, это верно: my_string = foo_decode(foo_encode(my_string))
. Если у вас есть другая строка набора символов, это верно: barf = bar_decode(foo_encode(my_string))
где barf
- это мусор, который вы видите.
Если вы не знаете, в каком наборе символов находится ваш ввод, вы только правильно его расшифруете.
Похоже, что ваши входные файлы находятся в формате UTF-8, и вам нужно будет декодировать байты из файла как таковые. (Я не говорю достаточно C #, чтобы помочь вам здесь ... Я говорю только кодировки символов.)