반응형
C# Tips!! 한글과 영어가 섞인 경우의 Format 정렬
C#에서 문자열 출력시, 한글 한글자는 영어 2글자 분의 자리를 차지한다.
따라서 일반적인 정렬 방식을 쓰게 되면, 한글과 영어의 차이 때문에 정렬이 안된다.
이럴 때는 바이트수를 계산해서 출력해 주어야 자리수를 맞출 수 있다.
가령, 한글이냐 영어냐에 상관 없이 영어 열자리 간격에 맞추어 오른쪽 정렬로 출력하려면,
다음과 같이 하면 된다.
String strToPrint = "출력할 문자열";
int padLen = 10 - Encoding.Default.GetBytes(strToPrint).Length;
Console.WriteLine("{0}", "".PadLeft(padLen) + strToPrint);
또는, 다음과 같은 방법도 있다.
String strToPrint = "출력할 문자열";
byte[] byte1 = Encoding.Default.GetBytes(strToPrint + " ");
byte[] byte2 = new byte[10];
Array.Copy(byte1, byte2, 10);
Console.WriteLine("{0}", Encoding.Default.GetString(byte2));
반응형
'프로그래밍' 카테고리의 다른 글
Javascript로 Image Size(Width & height) 알아내기 (0) | 2015.08.22 |
---|---|
IE의 다운로드 경로에 파일이 없는 경우 (0) | 2015.08.18 |
Linux 명령어 Tip - grep & find (0) | 2015.08.12 |
소프트웨어 생명주기 (0) | 2015.07.22 |
Oracle에서 UPDATE와 SELECT의 결합 (0) | 2015.07.17 |