在C#中,我需要获取某些字符的ASCII码。
因此,我将char
转换为byte
或int
,然后打印结果。
String sample="A";
int AsciiInt = sample[0];
byte AsciiByte = (byte)sample[0];
对于ASCII码为128及以下的字符,我得到了正确的答案 但对于大于128的字符,我得到了无关紧要的答案!
我确信所有字符都小于0xFF。
此外,我已经测试System.Text.Encoding
并得到了相同的结果。
例如:我得到172对于实际字节值为129的char!
实际上是ASCII字符,如ƒ,‡,<,“,¥,©,Ï,³,·,½,»,Á
每个字符占用1个字节,然后上升到超过193。
我猜它有一个Unicode等效的他们和.Net返回,因为将字符串解释为Unicode!
如果SomeOne需要访问一个字节的实际值,那么它是否是一个有效的已知ASCII字符!!!