g_convert workaround

6295
points
points
많은 gtk/gnome 프로그램에서 문자열의 인코딩을 UTF-8로 바꿀 때, 문자열의 인코딩을 알 수 없으면 iso-8859-1로 처리하도록 되어있습니다.
이부분을 python의 chardet을 이용해서 문자열 인코딩을 추측한 후 시도하도록 해보았습니다.
적용된 화면은 http://ftp.mizi.com/~ganadist/gcwa.png에서 볼 수 있습니다.
화면중 rhythmbox에서 인터넷 라디오의 태그는 euc-kr로 인코딩되어있고, 동영상 파일의 제목 태그는 shift-jis로 인코딩되어있지만, 안깨지고 제대로 나오고 있습니다.
받기: http://ftp.mizi.com/~ganadist/gcwa-0.0.2.1.tgz
필요한 것:
python 런타임
chardet python 모듈
(우분투 사용자는 universe에 있는 python-chardet 패키지를 설치하면 됩니다.)
자세한 것은 tar파일에 포함된 README를 참조하세요.
»
- ganadist의 블로그
- Login or register to post comments
- 1758번 읽힘

points
뜬금없지만.. 저 애니
뜬금없지만.. 저 애니 제목이 어떻게 되나요??^^;;;;
points
코드 기아스 - 반역의
코드 기아스 - 반역의 루루슈라는 애니메이션입니다.
과감한 설정(일본이 xx국의 식민지로 전락되어서 blah blah~) 때문에 때아닌 좌익/우익 논란까지 불러일으켰습니다만, 내용만 보자면 꽤 괜찮아보입니다.
points
뜨하하...
그렇군요.. 내용상 그렇고 그런 내용이란걸 알고 절대로 손이 안가던 애니였는데..
저는 그거보단 요즘 Over Drive 를 보기 시작했답니다 :)
그외 다른 볼만한게 있으면 좋을텐데..;
(최근에 솔티레이를 봤는데, 너무나도 감동적이었습니다...;)
points
아하하....
저도 궁금했어요 .....
points
그런데
파이썬을 이용하는 거보다 다른 방법은 없을까요?
파이썬 말고도 인코디 감지 라이브러리 같은게 있을텐데요..
iconv 에도 그런거 없나요? glib 에서 iconv 도 쓰던데...
php 의 경우에는 mbstring 라이브러리 쓰면 같은 바이트 인코딩이(euc-kr, euc-jp의 경우) 아닌 이상 잘 감지해 내던데..
points
iconv는 단순히
iconv는 단순히 문자열의 인코딩을 변환만 해줍니다. (그리고 g_convert도 내부적으로 iconv를 사용합니다.) 실패하면 단순히 NULL을 리턴합니다.
chardet의 경우에는 입력받은 문자열의 패턴을 통계적으로 분석해서 문자열의 인코딩을 추측합니다. 따라서 euc-kr인지 euc-jp인지도 구분해준다고 합니다. chardet은 원래 모질라 프로젝트에서 만들어 졌고, 여기서는 그 chardet라이브러리를 python으로 포팅된것을 python의 c api를 통해서 호출하도록 한 것입니다.
points
그렇군요..
그러면 chardet 처럼 쓸수 있는 이식성 있는 라이브러리 들은 어떤 것들이 있을까요?
물론 너무 넓은 범위의 이식성 보다는 유닉스 계열 혹은 리눅스 대부분.
이렇게 어느정도 범용성이 있는 라이브러리들은 뭐 없을까요?
points
mozilla chardet이나 python
mozilla chardet이나 python chardet의 이식성은 좋습니다. 다만 런타임이 커질뿐;;
OOo에도 이런 라이브러리가 있을까 싶어서 검색을 해봤는데 아직 인코딩 감지기능은 없는 것 같습니다.
points
python chardet
python chardet 라이브러리는 모질라 chardet 모듈의 로직을 보고, 완전히 pure python으로 포팅한 것이기 때문에 C API 호출이 필요없지 않나요?
----
http://nohmad.sub-port.net
points
python chardet은
python chardet은 pure파이썬이지만, 저기 위에 언급한 것은 gcwa에서 python chardet을 쓰기 위해 c api를 사용했다는 의미입니다.
points
charset의 오타인줄
charset의 오타인줄 알았더니.. =3 =33
points
감사합니다. 리듬박스
감사합니다.
리듬박스에서 깨진 글자들 안봐도 되서 정말 좋은데요.