본문 바로가기

전체 글340

utf, euc-kr 사용상의 애로사항 utf-8 의 경우 한글을 3바이트로 인지하고 euc-kr은 2바이트로 인지하기 때문에 빌드 머신과 타겟의 인코딩이 다를 경우 코딩시에 이 차이로 인해 발생하는 문제를 고려해야한다. 빌드 머신도 utf-8, 타겟 머신도 utf-8을 쓰도록 하자. utf-8이 네트웍 전송시 바이트 오더링으로 인한 문제도 발생하지 않고 가장 속편하다. 대량의 한글 데이타 처리를 할 때는 좀 고민을 해뱌아할지도 모르지만 요즘은 웹을 비롯한 대부분의 DB도 utf-8을 사용하는 추제가 아닌가 utf-8 => 유니코드 유니코드 => 완성형(euc-kr/ksc5601) (for bdf 폰트 출력)유니코드 => 조합형 (for fnt 폰트 출력) 완성형 => 조합형 조합형 => 완성형 2014. 1. 24.
각종 한글 코드표 * ks5601 (euc-kr) 완성형 코드표http://zbxe.bluegate.kr/42 * 유니코드 범위 목록http://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EB%B2%94%EC%9C%84_%EB%AA%A9%EB%A1%9D * cp949 코드표 http://blog.naver.com/PostView.nhn?blogId=gimjoonbum&logNo=30125704965 * 한글 완성형(KS5601/KSX1001)의 코드 범위 A1A1h ~ ACFEh : 부호B0A1h ~ C8FEh : 한글CAA1h ~ FDFEh : 한자 * 부호 부분 A1A1h ~ A2E5h: 기호와 약자 몇가지A3A1h ~ A3FEh: 전각 문자A4A1h ~.. 2014. 1. 21.
한글 코드 판단 typedef enum { HANGUL_JAMO, // 한글자모 HANGUL_COMPAT_JAMO, // 호환용한글자모 HANGUL_JAMO_EXT_A, // 한글자모확장-A HANGUL_SYLLABLES, // 한글음절 (흔히들얘기하는 유니코드한글) HANGUL_JAMO_EXT_B, // 한글자모확장-B HANGUL_JOHAB, // 조합형 HANGUL_KSC5601, // 완성형 HANGUL_EUCKR = HANGULE_KSC5601, // 완성형 HANGUL_CP949, // 윈도우 완성형 ENGLISH_ASCII // 아스키 영문 } chartype; if ( str[0] = 0x11 && str[1] >= 0.. 2014. 1. 21.
빌드 시스템과 타겟 시스템의 인코딩이 다를 때.. 타겟 시스템도 특별한 경우가 아니면 utf-8을 고수하자. 안그러면 여러모로 골치아프다. * utf-8 의 경우 byte order 문제가 발생하지 않아 전송할 때 유리하다. utf-8인 리눅스와 cp949인 윈도우가 통신할 때 문제가 발생할 수 있는데.. 어차피 윈도우측이든 리눅스측이든 프로그램상에서 해결해야한다. 2014. 1. 21.