var
  s: string;
begin
  s:= '123你好吗';
end;则如何得出s所占字节数?

解决方案 »

  1.   

    length
    如果要得到的是字的个数,用widestring来表示字符串,然后再用length来得到
      

  2.   

    length只是得到该字符串的长度,长度不应该就是该字符串所点的字节吗,就向我的例子,不会所占字节数也是9吧?
      

  3.   

    s[0];
    这个好象得到的个数!不是太清楚!
    =================================================
    其实我不用DELPHI很多年!
      

  4.   

    现在csdn中的人气越来越差了,好多问题不知是不想回答还是大家也不懂,原来发布了一些问题,也没人能解答,后来还是自己摸出来了,唉!!!
      

  5.   

    还是我自己解决了,看来以后有什么问题没必要再到这问了,问了也是白问!widestring和string在处理有汉字和英文的时候,Length取得的值是不同的,所以得所WideString转换为String,Length才能得到正确的值!!!不过还是谢谢捧场的众位!
      

  6.   

    在Delphi中如果是在设计Com/OCX之类的,那么字符串都被要求是WideString型的,如果传入的字符串中包含汉字,那么直接取WideString变量的长度的话,则结果不正确,得转换为string型才能得到正确的字符串长度!也就是你自己所说的那么回事了!