在7.0/2007版本上使用“length”时不支持中文,就是设定返回值为1时,英文字母有效,中文无效。
在2009版本上使用时,返回值为1,中英文都有效!这就是 delphi移至unicode 带来好处??那么是不是unicode 将英文字母和中文单字所占的字节数统一了???

解决方案 »

  1.   

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
      

  2.   

    就算是吧,反正超过2字节的unicode编码一般人也很难用到
    d2009之前用WideString也一样,只不过没有引用计数效率低点儿而已
      

  3.   

    Delphi2009
    中英文字符各占两个字节,统一长度为1。
      

  4.   

    Length函数从来都是返回字符串的元素个数。
    sizeof才返回对象的字节数。
    在单字节的环境下,二者结果相同,仅仅是巧合而已。