유니코드 문자열 관련 질문 드립니다.
글쓴이: redpig / 작성시간: 목, 2015/07/02 - 9:45오전
char *str="\uD14C\uC2A4\uD2B8"; puts(str);
이걸 컴파일해서 실행하면 "테스트"라고 정상 출력됩니다.
근데, "\uD14C\uC2A4\uD2B8" 이 문자열을 소켓통신을 통해 받아서 출력하면 "테스트"라고 나오지 않고 그냥 "\uD14C\uC2A4\uD2B8" 이렇게 그냥 그대로 출력되는데요.
이걸로 봐서 위의 경우엔 아마도 컴파일러가 유니코드 문자임을 인지하고 "테스트"로 변경해서 컴파일한 것이고
소켓통신으로 받을 경우엔 컴파일시 알수 없으므로 그냥 그대로 출력되는것 같은데요.
소켓통신을 통해 받았을 경우 "테스트"로 출력되게 할려면 어떻게 하면 될까요?
Forums:
문자열을 잘못전송하셨거나 출력을 잘못하신거 같습니다.
문자열을 잘못전송하셨거나 출력을 잘못하신거 같습니다.
소켓통신후 출력하기 전에 문자열을 유니코드로
소켓통신후 출력하기 전에 문자열을 유니코드로 변환해줘야 하지 않을까요?
댓글 달기