文档介绍:/// <summary>
/// 截取指定字节长度的字符串
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="len">截取字节长度</param>
/// <returns></returns>
public static string CutByteString(string str, int len)
{
string result = ;// 最终返回的结果
if ((str)) { return result; }
int byteLen = (str);// 单字节字符长度
int charLen = ;// 把字符平等对待时的字符串长度
int byteCount = 0;// 记录读取进度
int pos = 0;// 记录截取位置
if (byteLen > len)
{
for (int i = 0; i < charLen; i++)
{
if ((()[i]) > 255)// 按中文字符计算加2
{ byteCount += 2; }
else// 按英文字符计算加1
{ byteCount += 1; }
if (byteCount > len)// 超出时只记下上一个有效位置
{
pos = i;
break;
}
else if (byteCount == len)// 记下当前位置
{
pos = i + 1;
break;
}
}
if (pos >= 0)
{ result = (0, pos); }
}
else
{ result = str; }
return result;
}
/// <summary>
/// 截取指定字节长度的字符串
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="startIndex">起始位置</param>
/// <param name="len">截取字节长度</param>
/// <returns></returns>
public static string CutByteString(string str, int startIndex, int len)
{
string result = ;// 最终返回的结果
if ((str)) { return result; }
int byteLen = (str);// 单字节字符长度
int charLen = ;// 把字符平等对待时的字符串长度
if (startIndex == 0)
{ return CutByteStrin