input 으로 들어오는 string이 어떤 인코딩 형식(UTF-8, UTF-16등)인지 알 수 있는 방법이 있나요?
글쓴이: friendwang / 작성시간: 금, 2011/06/03 - 3:37오후
C 코드나 C++ 코드를 이용해서..
제목과 같이 입력받은 string이 UTF-8, UTF-16 등과 같은 코드 형식으로 들어올때...
어떤 인코딩 방식인지 구별할 수 있는 방법이 있나요?
아니면... 어떤 인코딩이 들어오더라도 무조건 UTF-8로 변환할 수 있는 방법은 있는지 궁금합니다..
iconv_open(to, from) 에서는 from을 알아야 사용할 수 있다보니...
from이 어떤 방식인지를 몰르면 아무것도 못하게 되어 버리네요... ㅠ.ㅠ
Forums:
모두 유니코드라면 아래의 글이 도움이 될
모두 유니코드라면
아래의 글이 도움이 될 겁니다.
RFC 4627, JSON message, 에 나와 있는 string encoding 부분입니다: http://www.ietf.org/rfc/rfc4627.txt
위에 나와있듯이
첫 2바이트가 Ascii코드라는 가정하에, 읽어서 분석해보면, 어느 유니코드 인코딩인지 알수 있습니다.
하지만, native character set까지 포함시켜버리면...
아마 힌트 정도의 불확실한 방법들말고는 없을것같은데...
native character set에 대해서는 잘 모르지만, 만약 각 나라가 서로 협의없이 그냥 각자 만든것이었고, 따라서 충돌하는 부분이 존재한다면
character set autodetect는 힘들듯..
http://wiki.kldp.org/wiki.php
http://wiki.kldp.org/wiki.php/%B1%E8%C1%A4%B1%D5/CharDet
다만, charset이 중복되는 경우가 많기 때문에 어떤 detecting도 완벽하지 않다는 걸 아셔야 합니다.
------------------------------
How many legs does a dog have?
댓글 달기