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位

本文介绍了一种根据Unicode长度限制来截取包含中英文字符的字符串的方法。通过遍历字符串并计算每个字符的Unicode字节长度,确保截取后的字符串总长度不超过指定的最大长度。
2173

被折叠的 条评论
为什么被折叠?



