Develop
2013.04.23 15:49

[c] UTF-8을 EUC-KR로 변환.. (iconv)

조회 수 20177 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

첨부된 파일은 아래 내용과 같이 make 버전으로 심플하게 수정한것도 포함됨..

iconv 라이브러리 좋은 사용 예제..

/*
iconv를 활용한 코드 변환 (EUC-KR <-> UTF-8)
gcc 버전에 따라 glibc에 포함된 경우는 -lc를 하고 그렇지 않은 경우는 -liconv를 링크한다.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <iconv.h>
#include <errno.h>


int main()
{
    int ret;
    iconv_t it;
    char ksc_buf[1024] = "한글과 유니코드";
    
    // KSC(완성형) 코드를 UTF(유니코드)로 변환하면 원래 크기보다 커지므로 크게~
    char utf_buf[1024] = {0x00, };
    size_t in_size, out_size;

    sprintf(ksc_buf, "%s", "한글과 유니코드");
    memset(utf_buf, '\0', 1024);

    // 어떤 시스템에서는 char** 가 아니라 const char** 인 경우도 있음
    char *input_buf_ptr = ksc_buf;
    char *output_buf_ptr = utf_buf;

    in_size = strlen(ksc_buf);
    out_size = sizeof(utf_buf);

    it = iconv_open("UTF-8", "EUC-KR"); // EUC-KR을 UTF-8로
    ret = iconv(it, &input_buf_ptr, &in_size, &output_buf_ptr, &out_size);
    
    if (ret < 0)
    {
        printf("ret : %d, errno : %d\n", ret, errno);
        return(-1);
    }
    else
    {
        printf("[%s](%d) => [%s][(%d)\n",
            ksc_buf, in_size, utf_buf, out_size);
    }
    
    iconv_close(it);

    input_buf_ptr = utf_buf;
    output_buf_ptr = ksc_buf;

    in_size = strlen(utf_buf);
    out_size = sizeof(ksc_buf);

    it = iconv_open("EUC-KR", "UTF-8"); // UTF-8을 EUC-KR로
    ret = iconv(it, &input_buf_ptr, &in_size, &output_buf_ptr, &out_size);

    if (ret < 0)
    {
        printf("ret : %d, errno : %d\n", ret, errno);
        return(-1);
    }
    else
    {
        printf("[%s](%d) => [%s][(%d)\n",
            utf_buf, in_size, ksc_buf, out_size);
    }
    
    iconv_close(it);
}

?

  1. [c] UTF-8을 EUC-KR로 변환.. (iconv)

    Date2013.04.23 CategoryDevelop Byhooni Views20177
    Read More
  2. [c] AES 알고리즘 (암호화/복호화)

    Date2003.04.23 CategoryDevelop Byhooni Views20141
    Read More
  3. [php] XE 에서 php 구문 사용하기 (XE 템플릿에서)

    Date2013.10.31 CategoryDevelop Byhooni Views19532
    Read More
  4. [js]모바일 웹에서 orientationchange

    Date2013.04.23 CategoryDevelop Byhooni Views19425
    Read More
  5. 모터에 대한 pid 제어.. ㅎㅎ

    Date2013.04.23 CategoryDevelop Byhooni Views18933
    Read More
  6. URI 인코딩, URL 인코딩

    Date2013.04.23 CategoryDevelop Byhooni Views18898
    Read More
  7. [ios] Objective-C에서 형식이 있는 문자열(Format Strings)에 사용할 수 있는 토큰들(Tokens)

    Date2013.04.23 CategoryDevelop Byhooni Views18823
    Read More
  8. [ios] libxml/tree.h file not found

    Date2013.08.08 CategoryDevelop Byhooni Views18765
    Read More
  9. [ios] 앱에서 다른 앱 실행시키기

    Date2013.09.05 CategoryDevelop Byhooni Views18617
    Read More
  10. [ios] iphone SetDeviceOrientation 화면 강제 회전

    Date2013.11.20 CategoryDevelop Byhooni Views18505
    Read More
  11. [vc++] 게임 소스 등.. ㅋㅋ

    Date2013.04.23 CategoryDevelop Byhooni Views18388
    Read More
  12. [js] jQuery 관련 사이트 링크 모음

    Date2013.04.23 CategoryDevelop Byhooni Views18271
    Read More
  13. [ios] NSString 간단한 정규식 사용법

    Date2014.01.28 CategoryDevelop Byhooni Views18264
    Read More
  14. [js] 동적(innerHTML)으로 자바스크립트 실행하기..

    Date2013.04.23 CategoryDevelop Byhooni Views18231
    Read More
  15. [c#] 정규표현식을 이용한 문자열에서 태그 제거함수

    Date2013.04.23 CategoryDevelop Byhooni Views17868
    Read More
  16. [ios] 자주 쓰는 패턴과 API

    Date2013.04.23 CategoryDevelop Byhooni Views17728
    Read More
Board Pagination Prev 1 ... 6 7 8 9 10 ... 53 Next
/ 53