반응형

C# -- String, char, byte 변환하기


환경 : windows 7 64bit, visual studio 2013 community


참고 : https://msdn.microsoft.com/ko-kr/library/system.text.encoding(v=vs.110).aspx  --> Encoding Class

        https://msdn.microsoft.com/ko-kr/library/744y86tc(v=vs.110).aspx  --> GetString() 메소드

        https://msdn.microsoft.com/ko-kr/library/system.text.encoding.ascii(v=vs.110).aspx   --> Encoding.ASCII

        http://www.csharpstudy.com/Tip/Tip-string-encoding.aspx  

        https://msdn.microsoft.com/ko-kr/library/kdcak6ye(v=vs.110).aspx   --> Encoding.Convert() 메소드





1. String -> byte[] 로 변환 하기


String a = "우리12abc헐";


byte[] c = System.Text.Encoding.Default.GetBytes(a); // String to default byte

byte[] d = System.Text.Encoding.Unicode.GetBytes(a); // String to unicode byte

byte[] e = System.Text.Encoding.UTF8.GetBytes(a);  // String to UTF8 byte

byte[] f = System.Text.Encoding.ASCII.GetBytes(a); // 하위 7bit 만 변환됨.



   ** 주의 : Encoding.ASCII  --> ASCII(7비트) 문자 집합에 대한 인코딩, 따라서 하위 7bit 만 변환됨. 한글은 데이터 손실 발생.



2. byte[] -> String 으로 변환하기

Console.WriteLine(System.Text.Encoding.Default.GetString(c));  // Default byte[] --> String 

Console.WriteLine(System.Text.Encoding.Unicode.GetString(d));  // Unicode byte[] --> String

Console.WriteLine(System.Text.Encoding.UTF8.GetString(e));  // UTF8 byte[] --> String



3. byte[] 인코딩 변환하기


// UTF8 byte[] --> Default byte[] 로 변환하기.

byte[] new_default = System.Text.Encoding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.Default, e);



4. String <--> char 상호 변환하기


1) String --> char 변환


String a = "우리12abc헐";

char[] b = a.ToCharArray();  // String to char  --  char 은 유니코드.

Console.WriteLine(b);  // char[] 출력하기.


2) char[] --> String 변환


String aa = new String(b);  // char[] to String

Console.WriteLine(aa);        // char[] to String 변환후 출력




<< 아래 예제 실행 결과 >>




<< 예제 소스 >>











반응형
Posted by 자유프로그램
,