[급질] 주소록 검색 방법 좀 알려 주세요.

라이더의 이미지

안녕하세요. 급하게 필요해서 이렇게 질문을 드립니다...
혹 아시는분 있으시면 답변좀 부탁 드리겠습니다.

핸드폰에 보면 주소록 검색을 하잖아요....
예를 들어 검색어를 "ㄱ"이라고 입력 하면... "ㄱ"을 포함하는 가, 김, 검... 등 "ㄱ"을 포함하는
한글 글자를 찾을수가 있는데.. 이걸 어떻게 C언어로 구현이 가능할까요???
어떤 비트 연산이나... 어떤 연산으로 가능할거 같은데...
혹시 아시는분 있으세요????

부탁 드리겠습니다...

bushi의 이미지

조합형 -.-b
iconv --list 중에 JOHAB 이라는 이름이 있습니다.
제가 알기로, 검색/정렬 문제라면 조합형 외에 완벽한 대안은 없습니다.

wish의 이미지

어떤 인코딩 상황이냐에 따라서 다릅니다.

윗분 처럼 조합 인코딩이나 유니코드 문자집합 중 첫가끝 방식을 이용한 인코딩을 이용한다면, 초성이 ㄱ인 모든 글자 코드를 만들어 낼 수는 있습니다.

euc-kr 이나, 유니코드 문자집합 중 Hangul Syllable 영역을 이용한 인코딩을 이용한다면 각 초성에 대해 범위를 지정해 주는 방식으로 할 수 있겠구요.

uhc 등이라면 테이블을 만드는 수 밖에 없겠죠.

주소록 자체를 조합 혹은 유니코드 첫가끝 방식을 이용한 utf-16 내지는 utf-32 인코딩으로 변환하지 않는 이상은 연산 한방에 끝낼 수 있게 만들 수 있을 것 같지가 않습니다.

euc-kr, 유니코드 완성형 방식을 이용한 utf-16, utf-32 의 경우는 각 초성에 대한 범위를 지정해서 검색하면 되겠구요.

uhc 나 utf-8 이라면, 같은 초성으로 시작하는 글자 인코딩의 공통 부분을 추려내어서 테이블을 만들거나, 글자 자체에 대한 테이블을 만들어야 할 것입니다. 연산으로 한다고 해도 복잡해 지겠죠.

이런 일들을 해주는 라이브러리가 따로 있을 지는 모르겠지만, iconv 를 이용한다면 크게 어렵지는 않을 것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.