Linux환경에서 Unicode 제어 C함수 ICONV 라이브러리
프로그래밍/프로그래밍 메모장 2007/09/10 13:49글로벌시대에 있어서 다양한 문자셋의 지원은 이제 당연한 것이 되었다.
LINUX환경에서 Unicode를 지원하는 공개라이브러리들은 매우 많이 존재하지만
GNU의 라이브러인 ICONV가 단연 가장 많이 알려져있다.
libiconv
(iconv 라이브러리는 쉘명령 부터 php , ruby에 이르기까지 지원되는
GNU라이브러리이다.)
쓰는 방법은 초간단하다.
libiconv_open 이라는 함수로 핸들을 열고
libiconv 로 서로다른 문자열을 변환하고
사용이 다끝났으면 livconv_close 로 핸들을 닫으면 끝.
기타 수많은 C함수 라이브러리의 원칙을 그대로 지키는 라이브러리이다.
열고 쓰고 닫는다.
링크 : http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.3.html
이러한 C 라이브러리의 동작방식은
사실은 자연계의 기계들이 공통적으로 가지고 있는 기초회로 즉 열고 쓰고 닫는다.
중요한 사실은 어찌되었든 열고 쓰고 닫는다. 라는 것은 프로그래밍의 기초회로라는
것이다. 꼭 잊어버려서는 안될 기초라는 것이다.
학교다닐때 후배들에게 C언어를 교육할때 더 정확히는 C언어 라이브러리 교육
더 정확히는 Turbo C 그래픽라이브러리였던 BGI 라이브러리 교육때에
항상 첫시간에 주지시켰던 내용이 바로 이내용이었다.
초기화 - 쓴다 - 닫기. BGI init - BGI function use - BGI close.
왜냐면 이것이 C 라이브러리의 가장 기초적이고 원론적인 설계방법이며 쓰는 방법이기
때문이다. 그렇다면 이런 라이브러리들은 왜 이렇게 설계된것인가.
어떤것을 쓰기 위해선 그것을 쓰기위한 기초환경을 만들어야 하기 때문이며 자원은
한정되어있기 때문이다.
어찌되었든 라이브러리를 사용할때 코딩의 규칙은,
먼저 초기화 부분과 닫는 부분을 코딩하고 나서
Init( some_library );
{
}
close( some_library );
그다음 작업할것을 코딩하는 형태로 코딩하는 습관을 들이면
초기화나 쓰고난다음 닫지 않는 문제로 디버그 할일은 예초부터 생기지 않게 된다.
예초부터 원인을 제공하지 않는 형태로 행동을 개선하는 것은 매우 유용한 일중하나이다.