Такое поведение определяется в документации Chr
command:
Возвращаемое значение зависит от кодовой страницы для текущего потока, который содержится в свойстве ANSICodePage класса TextInfo в System.Globalization Пространство имен. Вы можете получить ANSICodePage, указав System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage.
Таким образом, выход Chr
для значений, больших 127, зависит от системы. Если вы хотите воспроизвести результаты, создайте нужный экземпляр Encoding
, позвонив Encoding.GetEncoding(String), а затем используйте Encoding.GetChars(Byte()), чтобы преобразовать ваши числовые значения в символы.
Если вы go up one level в графике связаны в вашем вопросе, вы увидите, что они не утверждают, что эта диаграмма всегда вывод команды Chr
:
Символы, которые появляются в Windows, выше 127 зависит на выбранном шрифте.
В диаграммах в этом разделе показан набор символов по умолчанию для консольного приложения.
Ваше приложение представляет собой приложение WinForm, а не консольное приложение. Даже в консоли используемый набор символов может быть изменен (например, с помощью команды chcp
), отсюда и слово «по умолчанию».
Для получения подробной информации о кодировках, используемых в .net, я рекомендую следующую статью MSDN: Character Encoding in the .NET Framework.
Я использовал запись (chr (Number)) в консоли. Textbox.text = chr (Число) для изображения, которое вы видите. –