public string subStringByUniCode(string str , int maxLen)
{
int uniCodeLen = 0;
int strLen = 0;
for( int i = 0 ; i < str.Length ; i++)
{
string chr = str.Substring( i , 1);
int count = UnicodeEncoding.Default.GetByteCount(chr);
if ( (uniCodeLen + count) > maxLen )
{
break;
}
else
{
uniCodeLen += count;
strLen++;
}
}
str = str.Substring(0,strLen);
int differentLen = uniCodeLen - maxLen;
if( differentLen < 0)
{
for( int i = differentLen ; i < 0 ; i++)
{
str += " ";
}
}
return str;
}
1个汉字占2位