2009. 6. 4. 17:34ㆍ프로그래밍/C#
String의 길이를 계산하기 우해서는 일반적인 Length를 구하는 방식으로는 그 길이를 구할수 없습니다. 따라서 아래와 같은 2가지 방법을 사용하시면 됩니다.
#1번 방법:
public static int GetStringLength(string STR)
{
char[] charObj = STR.ToCharArray(); // 입력 string을 char[]로 변경
int maxLEN = 0; // 바이트 길이를 계산할 변수
for (int i = 0; i < charObj.Length; i++) // 루프를 돌면서
{
// 상위 1바이트를 가져온다.
byte oF = (byte)((charObj[i] & 0xff00) >> 7);
// 하위 1바이트를 가져온다.
byte oB = (byte)(charObj[i] & 0x00ff);
if (oF == 0) // 상위 1바이트가 0이면 알파벳이다.
maxLEN++;
else
maxLEN += 2;
}
return maxLEN;
}
#2번 방법:권장합니다.
public static int GetStringLength(string STR)
{
string s = STR;
byte[] temp = System.Text.Encoding.Default.GetBytes(s);
return temp.Length;
}
'프로그래밍 > C#' 카테고리의 다른 글
C#에서 MySQL 연결 검사하기.. (2) | 2012.07.06 |
---|---|
C# 그리고 OpenGL http://www.opentk.com/ (0) | 2010.06.01 |
C#에서 1970이후 지금까지의 밀리세컨트 구하기. (0) | 2010.03.20 |
돌리고 있는 Thread가 너무 높은 CPU점유율을 보일때... (0) | 2010.02.02 |
C#에서 BinaryWriter를 통해서 문자열을 Write할경우 앞부분에 Length가 자동 삽입되는 문제 (2) | 2009.06.04 |