byte[] ascii = Encoding.ASCII.GetBytes("문자열");
foreach (byte b in ascii)
{
        Console.WriteLine(string.Format("0x{0:x}", b));    // Ascii 
        Console.WriteLine(((Char)b).ToString());            // Ascii To Char
}



위와 같은 형식으로 이용하면 된다.





C#으로 서버는 콘솔로 만들고,


WPF로 클라이언트로 만들어서 서로 문자열을 주고 받고 있는데,




ABCD라는 문자열을 받아와서,


ABCD라는 또 다른 문자열과 아무리 비교를 해봐도 자꾸만 다르다고 나왔다.




결국 클라이언트에서, 서버에서 받아온 문자열과, 직접 동일하게 타이핑하여 입력한 문자열 두개의 length값을 비교하니


그 값이 1 차이가 있다는 것을 알 수 있었다.




개행문자나 이런쪽 문제인 것으로 추정은 하였으나, 정확한 원인은 몰랐으며 결국 커뮤니티에 질문을 하고서야,


아스키 코드로 찍어봐라는 답변을 받고 찍어봤더니


0x3f
?


라는 것이 문자열 앞에 삽입되서 들어오는 현상이 있다는 것을 확인할 수 있었다..




이유는 여전히 모르겠지만, 아스키코드로 찍어보지 않았다면 해결 못했을지도 모르겠다.

'Study > C#' 카테고리의 다른 글

string 을 아스키 코드로 변환해서 보기  (0) 2017.01.26

+ Recent posts