기본 콘텐츠로 건너뛰기

6월, 2009의 게시물 표시

DARS로 Multi-Bytes 문자 읽기

DARS문서를 읽다 보면 극동 지역(중국,일본,한국)에서 사용하는 문자를 읽는 방법이 나와있는데, 이를 간략하게 정리한 것입니다. 우선 Multi-Bytes 문자의 시작은 ' &~ '로 시작이 되고, ' & '로 종료가 된다. 그리고 Multi-Bytes 문자들(' &~ '와 ' & '사이에 들어 있는 문자들)은 각각에 128을 더한 문자를 취하면 됩니다. 지극히 간단합니다. 한가지 주의할 사항은 ' &~ '와 ' & '사이에 들어 있는 &~ 은 Multi-Bytes 문자의 시작을 가리키는 것이 아니라 문자 그 자체가 된다는 것입니다. 아래는 Multi-Bytes 문자를 읽는 코드입니다. /** @brief parsing multi-byte characters @author CJH , BHK @date 2009.06.23 */ string CAccessPdms::FECS(const string &istr) { string ostr; bool LFECS = false; for(int i = 0;i < istr.length();++i) { if('&' == istr[i]) { if(((i + 1) < istr.length()) && ('~' == istr[i+1]) && (false == LFECS)) { LFECS = true; i++; continue; } else if(((i + 2) < istr.length()) && ('&' == istr[i+1]) && ('~' == istr[i+2])) { ostr += "&~"; i += 2; c