This behavior is defined in the Chr command documentation:
The return value depends on the codepage of the current stream, which is contained in the ANSICodePage property of the TextInfo class in the System.Globalization namespace. You can get ANSICodePage by specifying System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage.
Thus, the output of Chr for values ββgreater than 127 depends on the system. If you want reproducible results, create the desired Encoding instance by calling Encoding.GetEncoding (String) , then use Encoding.GetChars (Byte ()) to convert your numeric values ββto characters.
If you go up one level in the diagram related to your question, you will see that they do not claim that this diagram is always the output of the Chr command:
The characters displayed in Windows above 127 depend on the font selected.
The charts in this section show the default character set for the console application.
Your application is a WinForm application, not a console application. Even in the console, the character set used can be changed (for example, using the chcp ), so the word "default".
For more information about the encodings used in .net, I recommend the following MSDN article: Character Encoding in the .NET Framework .
source share