관리 메뉴

새로운 시작, GuyV's lIfe sTyle.

C# 한글,영문 같이 길이 짜르기 본문

ⓟrogramming/.net

C# 한글,영문 같이 길이 짜르기

가이브 2010. 4. 29. 17:30


예로 게시판에서 제목이 길어 잘라먹을 때, String.Substring으로 갯수로 자르면

한글 30자 -> 길이는 60byte.
영문 30자 -> 길이는 30byte.

한글에 맞추면 영어는 터무니없이 반토막난다.

가나다라마 가나다라마 가나다라마 가나다라마 가나다라마 가나다...
ABCDE ABCDE ABCDE ...

뭐 대충 이렇게 되겠지. 같이 30개 만큼 짤랐으니..

title = title.Substring(0, 28) + "...";

간단하게 다음과 같이.

 string TitleCut(string title)
 {

  // 한글 2byte 갯수를 계산
  int hanLength = (Encoding.Default.GetByteCount(title)-title.Length) / 2;

  if (Encoding.Default.GetByteCount(title) > 55)

return title.Substring(0, 53 - hanLength ) + "..";

else

return title;

 }

일단 1byte로 Substring을 한다.
2byte문자를 1byte문자인척(?) 해주면.. -_-



반응형
Comments