C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[67829] [질문] UTF16 데이터의 코드 변환..(PC<=>Tablet PC간 데이터 교환 중 한글 코드 문제)
땅주인 [heaven2] 1272 읽음    2012-07-28 16:02
PC: C++ Builder 2009
Tablet PC: 안드로이드 O/S, Eclipse 개발 환경 ( Java 개발 환경)
통신: Socket

Tablet으로 Socket을 통해 사람 이름을 보내고,
다시 Socket으로 이름을 받으면 이상한 데이터가 들어 있습니다.
아마 UTF16, UTF8간의 차이가 아닌가 생각이 듭니다.
Tablet쪽에서는 아래의 코드로 해서 보낸 코드를 Java의  String으로 잘 변환이 된다고 하구요.
Java 쪽에서 PC쪽으로 던지면 이상한 값들이 들어오는 데 코드 변환이 필요해 보이는데
어떻게 해야 할 지 모르겠습니다.

[ 보낼 때]
BTYE STName[20];
memset(STName, 0x00, sizeof(STName));
UnicodeString Name = "홍길동1";

memcpy(STName, Name.w_str(), Name.Length()*2);

// Send Socket to Tablet PC...


[ 받을 때]
BYTE STName[20];
memset(STName, 0x00, sizeof(STName));

// Receive Socket From Tablet PC

wchar_t *pname = (wchar_t *) STName;
UnicodeString Name = UnicodeString(pname, 20);


보낼 때의 값은
4D D6 38 AE D9 B3 31 00 00 00 00 ....

수신받은 값은
ED 99 8D EA B8 B8 EB 8F 99 34 00 00 .....

이런 형태의 값입니다.

"홍길동"이라는 글자 부분은 같은 데 어떤 코드 형식이냐에 따라 값이 달라지는 듯 합니다.
이것을 PC에서 제가 일반적으로 쓰는 UnicodeString 형식으로 변환하려 하는데..
방법이 어떻게 되는 지 몰라 헤메고 있습니다. 아시는 분들의 조언을 바랍니다.

감사합니다.

+ -

관련 글 리스트
67829 [질문] UTF16 데이터의 코드 변환..(PC<=>Tablet PC간 데이터 교환 중 한글 코드 문제) 땅주인 1272 2012/07/28
67830     Re:[질문] UTF16 데이터의 코드 변환..(PC<=>Tablet PC간 데이터 교환 중 한글 코드 문제) 김도완 1498 2012/07/29
67831         Thanks..Thanks.Thanks.. ~~~!!! 땅주인 1181 2012/07/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.