/// <summary>
/// c#的中英文混合字符串截取(区分中英文)
/// </summary>
/// <param name="inputString"></param>
/// <param name="byteLength">要输出的字节长度</param>
/// <returns></returns>
public static string SubString(string inputString, int byteLen)
{
int count=Encoding.UTF8.GetByteCount(inputString);
if (count <= byteLen * 2)
{
return inputString;
}
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = "";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
tempString += inputString.Substring(i, 1);
if (tempLen >= byteLen * 2)
break;
}
return tempString;
}