在C#中我需要获取某些字符的ASCII码。 因此,我将char
转换为byte
或int
,然后打印结果。ASCII码字符
String sample="A";
int AsciiInt = sample[0];
byte AsciiByte = (byte)sample[0];
对于ASCII码为128或更小的字符,我可以得到正确的答案。
但对于大于128的字符,我得到无关紧要的答案!
我确定所有字符都小于0xFF。
我还测试了System.Text.Encoding
并得到了相同的结果。
例如:我得到172对于实际字节值为129的字符!
其实ASCII字符像ƒ,‡,<,“¥,©,我,³,·,½,»,A
每个字符占用1个字节,并上升到超过193 我猜有一个Unicode等价物,因为它们将字符串解释为Unicode!
如果SomeOne需要访问字节的实际值,它是否是有效的已知ASCII字符或不是!
你认为哪个角色有一个“129实际字节值”? –
(而您是如何获得这样的性格?) –
我更新了我的问题,这似乎.NET犯规认识他们!我打开写入的文件使用VS二进制编辑器这些字符而我看到的实际字节。 – Hamed