★★如果设Edit的MaxLength为2,在98下只能输入一个汉字,而XP下则可以输入两个汉字,为什么?
如果设Edit的MaxLength为2,在98下只能输入一个汉字,而在XP下则可以输入两个汉字,如果设Edit的MaxLength为1,在98下不能输汉字,而在XP下则可以输入一个汉字。为什么?

解决方案 »

  1.   

    因为98用ansi码,一个字节8位,两个字节才能表示一个汉字。
    而xp用unicode,一个字节16位,正好一个汉字。
      

  2.   

    那为什么在xp下设置Edit的MaxLength为1只能输入一个字母呢?字母也是用的unicode码表示的吗?
      

  3.   

    对。unicode是一个很大的字符集,前256个码和anscII码相同,字母就在这前256个里。后面还有中日韩,西班牙,等等乱七八糟的语言的字符。所以在unicode里不管什么字符,都是16位的,即字母和中文的大小是一样的。
      

  4.   

    2000 和 XP 完全支持 Unicode 编码,98 不完全支持。Unicode 是采用两个字节来表示一个字符的,而不管这个字符是西文还是中文或者是阿拉伯文。
      

  5.   

    Windows9x表示字符:DBCS+SBCS
    WindowsNT表示字符:unicode
      

  6.   

    Win Xp/Win 2000都是使用Unicode,一個字母等於一個漢字.
    Win 98使用Ansi,一個漢字等與兩個字母