这可能是一个不成熟的问题,可能是我遗漏了一些东西,但我的问题是
试图转换char到int拿到ASCII的那个值char,在大多数情况下,我得到正确/预期的ASCII的特定代码char,在某些情况下,我不知道.有人能解释一下为什么吗?
例子:
// Example 1:-
Console.WriteLine((int)'a');
// gives me 97 perfect!
// Example 2:-
Console.WriteLine((char)1); gives me ?
// now
Console.WriteLine((int )'?');
// this should give me 1, instead it gives me 9786 why?
Run Code Online (Sandbox Code Playgroud)
这发生在ASCII> 127或ASCII < 32.
Ale*_*kov 12
\01 是不可打印的字符,因为结果控制台可以自由使用任何替换使其可见.
此外,默认的Windows控制台不是非常友好的Unicode,因此当您打印超出默认可打印ASCII范围的字符时会发生奇怪的事情.
| 归档时间: |
|
| 查看次数: |
28865 次 |
| 最近记录: |