2008. 6. 26. 17:16
Unicode Little-Endian <-> Big-Endian 변환 Programing/Windows Programing2008. 6. 26. 17:16
유니코드에서 한 문자가 Little-Endian또는 Big-Endian으로 정의 되는 것을 볼 수 있다
이는 시스템상의 사용하는 문제로 가끔 변환해 줄 필요가 있는데....
네트워크 관련 API가 있지만, 해더 파일을 넣어줘야 한다는 이유 하나만으로 쓰기가 싫어졌다 -ㅂ-ㅋ
이것으로 간단하게 해결~!
이는 시스템상의 사용하는 문제로 가끔 변환해 줄 필요가 있는데....
네트워크 관련 API가 있지만, 해더 파일을 넣어줘야 한다는 이유 하나만으로 쓰기가 싫어졌다 -ㅂ-ㅋ
void Trans_Endian(WCHAR *uni)
{
int nSize = WideCharToMultiByte(CP_UTF8, 0, uni, -1, NULL, 0, NULL, NULL);
for (int n = 0; n<nSize; n++)
{
// UTF-16 little Endian -> Big Endian
WCHAR high_bit = 0x0000, low_bit = 0x0000;
high_bit = (*(uni+n) & 0xFF00) >> 8;
low_bit = (*(uni+n) & 0x00FF) << 8;
WCHAR p = low_bit | high_bit;
if (p == 0x00cd) break;
*(uni+n) = _T(p);
}
}
{
int nSize = WideCharToMultiByte(CP_UTF8, 0, uni, -1, NULL, 0, NULL, NULL);
for (int n = 0; n<nSize; n++)
{
// UTF-16 little Endian -> Big Endian
WCHAR high_bit = 0x0000, low_bit = 0x0000;
high_bit = (*(uni+n) & 0xFF00) >> 8;
low_bit = (*(uni+n) & 0x00FF) << 8;
WCHAR p = low_bit | high_bit;
if (p == 0x00cd) break;
*(uni+n) = _T(p);
}
}
이것으로 간단하게 해결~!
'Programing > Windows Programing' 카테고리의 다른 글
다이얼로그 기반 프로그램 시작시 윈도우 숨기기 (0) | 2008.07.15 |
---|---|
하위폴더 탐색 (재귀호출) (1) | 2008.07.10 |
MP3 ID3v2 Tag 읽기/편집 라이브러리 및 예제 (1) | 2008.06.23 |
ListCtrl 다중 선택 (Multi Selection)삭제 (0) | 2008.06.21 |
RichEditCtrl Line 정의 (1) | 2008.06.16 |