/// <summary>
/// 문자열을 바이트 단위로 잘라낸다.한글 2바이트, 영문 1바이트
/// </summary>
/// <param name="sStr"></param>
/// <param name="nLen"></param>
/// <returns></returns>
public static string strSplitStringB(string sStr, int nLen)
{
StringBuilder sbSplitStr = new StringBuilder(); // 리턴할 문자열
string s = ((sStr == null) ? string.Empty : sStr.ToString().Trim());// 입력받은 문자열
int nCount = 0; // 문자열 카운트
if (s.Trim().Length == 0)
return sbSplitStr.ToString();
char[] aStrChr = s.ToCharArray();
if (aStrChr.Length != 0)
{
for (int i = 0; i < aStrChr.Length; i++)
{
int nTemp = Convert.ToInt32(aStrChr[i]);
if (nTemp < 0 || nTemp >= 128)
{
// 한글일 경우 2바이트
nCount += 2;
}
else
{
// 한글이 아닌경우 1바이트
nCount++;
}
if (nCount <= nLen)
{
sbSplitStr.Append(s.Substring(i, 1));
}
}
if (nCount > nLen)
{
sbSplitStr.Append("…");
}
}
return sbSplitStr.ToString();
}
'ASP.NET' 카테고리의 다른 글
지정한 길이만큼 랜덤으로 문자열를 만들어 반환한다 (0) | 2015.05.28 |
---|---|
쿠키 암호화 및 복호화 (0) | 2015.05.28 |
다중 업로드 파일 클래스를 맹글어 보자 (0) | 2015.05.27 |
AutoCompleteExtender 컨트롤을 이용한 자동완성 기능 구현 (0) | 2015.05.27 |
날짜 표현 형식 (0) | 2015.05.27 |