摘自csdn
即认为中文长度为2
方法一
byte[] mybyte=System.Text.Encoding.Default.GetBytes(str);
mybyte.Length
方法二
public double CnLen(string str)
{
ASCIIEncoding n=new ASCIIEncoding();
byte [] mybyte=n.GetBytes(str);
double len=str.Length;
for(int i=0;i<str.Length;i++)
{
if(mybyte[i]==63)
{
len=len+1;
}
}
return len/2;
// int temp;
// double len=str.Length;
// for(int i=0;i<str.Length;i++)
// {
// temp=(int)str[i];
// if(temp<0)
// {
// temp+=65536;
// }
// if(temp>255)
// {
// len+=1;
// }
// }
// return len/2;
}