把短信内容按照字节拆分条数
按字节长度拆分内容
//计算发送信息的次数(条数,按140字节)
int iContentCount = (int)Math.Ceiling((double)ASCIIEncoding.Default.GetByteCount(SMContent)/140F);
string[] strMessage = new string[iContentCount]; //数组
int iNum = 0; //计数器
while(iContentCount > 0)
{
strMessage[iNum] = GetStringPartContent(SMContent,140);
SMContent = SMContent.Substring(strMessage[iNum].Length);
iNum++;
iContentCount --;
}
/**//// <summary>
/// 功能描述:判断字节数
/// </summary>
private string GetStringPartContent(string cOriginalityString, int iLenReturnString)
{
string cReturnString = cOriginalityString; //返回的字符串的内容。
if (cReturnString.Length > iLenReturnString)
{
cReturnString = cReturnString.Substring(0, iLenReturnString);
}
int ilength = iLenReturnString; //此方法不区分汉字,一个汉字只算1
if (cReturnString.Length < iLenReturnString)
{
ilength = cReturnString.Length;
}
while(true)
{
int ilent = System.Text.ASCIIEncoding.Default.GetByteCount(cReturnString); //此方法区分汉字,一个汉字算2
if (ilent > iLenReturnString)
{
ilength --;
cReturnString = cReturnString.Substring(0, ilength);
}
else
{
break;
}
}
return cReturnString;
}
//计算发送信息的次数(条数,按140字节)
int iContentCount = (int)Math.Ceiling((double)ASCIIEncoding.Default.GetByteCount(SMContent)/140F);
string[] strMessage = new string[iContentCount]; //数组
int iNum = 0; //计数器
while(iContentCount > 0)
{
strMessage[iNum] = GetStringPartContent(SMContent,140);
SMContent = SMContent.Substring(strMessage[iNum].Length);
iNum++;
iContentCount --;
}
/**//// <summary>
/// 功能描述:判断字节数
/// </summary>
private string GetStringPartContent(string cOriginalityString, int iLenReturnString)
{
string cReturnString = cOriginalityString; //返回的字符串的内容。
if (cReturnString.Length > iLenReturnString)
{
cReturnString = cReturnString.Substring(0, iLenReturnString);
}
int ilength = iLenReturnString; //此方法不区分汉字,一个汉字只算1
if (cReturnString.Length < iLenReturnString)
{
ilength = cReturnString.Length;
}
while(true)
{
int ilent = System.Text.ASCIIEncoding.Default.GetByteCount(cReturnString); //此方法区分汉字,一个汉字算2
if (ilent > iLenReturnString)
{
ilength --;
cReturnString = cReturnString.Substring(0, ilength);
}
else
{
break;
}
}
return cReturnString;
}