한글과 영문,숫자의 바이트 인식
C#/Problems 2019. 9. 27. 10:23format.string 을 이용해 정렬을 하려고 할때 시스템은 한글 한글자와 영문 한글자의 길이를 똑같이 1로 인식해서 정렬할때 문제가 생긴다.
이 문제를 해결하기 위해 새로운 변수를 만들어 그 변수의 값에 input 문자열의 바이트 값을 구하여 padingleft 의 값을 조절해주면 된다.
코드:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _09._27_step1
{
class Program
{
static void Main(string[] args)
{
string[] name = new string[] { "홍길동" , "길동", "abc", "ab"};
{
int padlen = 10 - Encoding.Default.GetBytes(name[i]).Length;
Console.WriteLine("{0}","".PadLeft(padlen)+ name[i]);
}
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
출력:
'C# > Problems' 카테고리의 다른 글
JSon 역질렬화할때 컬럼명이 클래스의 데이터를 찾아가는 과정 (0) | 2019.10.18 |
---|---|
상속 클래스 부모클래스와 자식클래스의 멤버 변수는 다를수 없다. (0) | 2019.10.17 |
String.Format을 이용하지않은 중앙정렬 (0) | 2019.09.27 |
최대 공약수 구하기 (0) | 2019.09.24 |