본문 바로가기
반응형

유니코드9

[개발/VC++] API를 이용한 ASCII와 UNICODE변환및 코드페이지를 이용한 변환방법 [개발/VC++] API를 이용한 ASCII와 UNICODE변환및 코드페이지를 이용한 변환방법 출처 : 인터넷 API를 이용한 ASCII와 UNICODE변환및 코드페이지를 이용한 변환방법 [사용예제]// 멀티바이트문자열 --> 와이드문자열 char chText[100] = "abcdefg"; // 멀티바이트 문자열 wchar_t* pszTmp = NULL; // 와이드만자열로 변경해서 저장될 주소 int iLen = ::MultiByteToWideChar(CP_ACP, 0, pszText, -1, pszTmp, 0); pszTmp = new wchar_t[iLen+1]; ::MultiByteToWideChar(CP_ACP, 0, pszText, -1, pszTmp, iLen); wchar_t tcResu.. 2015. 10. 7.
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 [개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%S", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%.. 2015. 10. 6.
[개발/MFC] VC++/MFC API 팁 [개발/MFC] VC++/MFC API 팁 1. 특정 디렉토리 뒤지기 2. API를 이용하는 유니코드와 ANSI 문자열간의 변환 방법 3. 윈도우 탐색기로부터의 Drag&Drop을 받으려면 4. 시스템의 모든 드라이브 알아내기 5. 레지스트리 읽기/쓰기 1. 특정 디렉토리 뒤지기 지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ?이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다.WIN32_FIND_DATA findFileData; HANDLE hFileHandle;// szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾.. 2012. 11. 15.
[개발/MFC] VC++/MFC API 팁 1. 특정 디렉토리 뒤지기 2. API를 이용하는 유니코드와 ANSI 문자열간의 변환 방법 3. 윈도우 탐색기로부터의 Drag&Drop을 받으려면 4. 시스템의 모든 드라이브 알아내기 5. 레지스트리 읽기/쓰기 1. 특정 디렉토리 뒤지기 지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ? 이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다. WIN32_FIND_DATA findFileData; HANDLE hFileHandle; // szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾아진 파일의 속성은 findFileDa.. 2011. 4. 13.
[개발/MFC] UTF8로 파일저장하기 [MFC] UTF8로 파일저장하기 CString strFilePath = dlg.GetPathName(); // UTF8로 컨버팅 int nAllocLen = WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, NULL, 0, NULL, NULL); CHAR * pBuffer = new CHAR [nAllocLen + 1]; memset (pBuffer, 0, nAllocLen); WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, pBuffer, nAllocLen + 1, NULL, NULL); // 파일로 저장 CFile file; file.Open (strFilePath, CFile::modeCreate | CFile::mo.. 2011. 3. 22.
[개발/VC++] API를 이용한 ASCII와 UNICODE변환및 코드페이지를 이용한 변환방법 출처 : 인터넷 API를 이용한 ASCII와 UNICODE변환및 코드페이지를 이용한 변환방법 [사용예제] // 멀티바이트문자열 --> 와이드문자열 char chText[100] = "abcdefg"; // 멀티바이트 문자열 wchar_t* pszTmp = NULL; // 와이드만자열로 변경해서 저장될 주소 int iLen = ::MultiByteToWideChar(CP_ACP, 0, pszText, -1, pszTmp, 0); pszTmp = new wchar_t[iLen+1]; ::MultiByteToWideChar(CP_ACP, 0, pszText, -1, pszTmp, iLen); wchar_t tcResult[MAX_PATH] = _T(""); wcscpy( tcResult, pszTmp ); d.. 2011. 2. 17.
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%s", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%s", "문자열" ); 변환될 문자열을 %s(대문자)로 wsprintf()함수를 사용합니다. ※ .. 2011. 2. 8.
[VC++] VC++ 문자 Encoding 방식 싱글바이트캐릭터 SBCS (Single-byte character set) 한 문자 표현에 1Byte를 사용하는 방식이다. 예로 ASCII 코드가 있으며, 한글이나 일본어표현은 불가능하다. 멀티바이트캐릭터 MBCS (Multi-byte character set) 한 문자 표현에 1Byte 이상을 사용하는 방식으로 Windows에서 MBCS에는 딱 두종류가 있다. SBCS와 DBCS( Double-byte character set) 결국 많아봐야 최대 2Byte라는 얘기다. 한글이나 일본어가 처리되는 기본 방식이다. 즉, printf( “안녕하삼” ); std::cout Data type SBCS/MBCS char : 일반적인 1Byte 문자형 char를 사용해서 표현 Unicode wchar_t : wi.. 2010. 9. 30.
[ms-sql] sp_executesql 에서 nvarchar(max) 사용 sql server 2000에서 sp_executesql 을 사용할 때 제약조건이 있었는데, sql 문을 4000자 이상 처리할 수 없다는 것입니다. sql 문은 유니코드 문자열(nvarchar 나 nchar)이어야 하기 때문에 최대 4000자까지 쓸 수 있습니다. 참고로 ntext 형은 변수 선언을 할 수 없습니다. 예를 들어 다음과 같은 쿼리가 있다고 해보죠. declare @sql nvarchar(4000) set @sql = 'select * from tableA .....' exec dbo.sp_executesql @sql 만약 @sql에 4000자가 넘어가는 문장을 넣게되면 @sql은 4000자에서 문장을 자를것이고, 따라서 sp_executesql은 실패하게 될 것입니다. 하지만 sql se.. 2010. 9. 20.
반응형