当前位置:编程学习 > C#/ASP.NET >>

急!!!急!!!急!!!KeyPressEventArgs的KeyChar

问题一:
    例:
            n = -10544; (中)  
            byte[] t = new byte[]{(byte)(n>>8),(byte)(n & 0xff)};   
            Console.WriteLine(Encoding.Default.GetString(t));

    在这个例子中 (n >> 8)  (n & 0xff) 分别代表什么意思
              为什么byte[] t = {214,208}?
问题二:
    例:
             当输入'中'字时,KeyPressEventArgs 中 e.KeyChar = 20013'中',为什么要设置为-10544(如问题一的例子)? --------------------编程问答-------------------- 只知道n>>8应该是代表右移的吧

其他的关注中 --------------------编程问答-------------------- e.KeyChar类型char, UTF-16, 
new byte[]{(byte)(n>>8),(byte)(n & 0xff)} 操作将其分解为两个字节.  
Encoding.Default.GetString(t)使用系统默认字符集进行解码. 
按例子, -10544应该是系统默认编码的'中', 但这么做看不出来有什么意义.  --------------------编程问答--------------------
引用 2 楼 figroc 的回复:
按例子, -10544应该是系统默认编码的'中', 但这么做看不出来有什么意义. 


那应该怎么做呢???

--------------------编程问答-------------------- 是不是都要减去 30557呢???!!! --------------------编程问答-------------------- 直接Console.WriteLine(e.KeyChar)就行了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,