레거시 코드에서 사용하기 위해 UTF-8 string
을 ISO-8859-1 char*
으로 변환하려고합니다. 이 작업을 수행하는 유일한 방법은 iconv
입니다.UTF-8에서 ISO-8859-1로 문자열 변환
나는 완전히 string
기반 C++ 솔루션을 선호하며 그 결과 문자열에 .c_str()
을 호출하면됩니다.
어떻게하면됩니까? 가능한 경우 코드 예제. 알고있는 유일한 솔루션 인 경우 iconv
을 사용하면 문제가 없습니다.
C++ 11에서 구현했습니다. 올바른 방식으로하는 것이 잘못된 이유는 무엇입니까? –
유일한 방법은 iconv를 사용하는 것이 좋습니다. 상상할 수있는 가장 우아한 C++ 솔루션은 아닙니다. 's.toEncoding ("ISO-8859-1")과 같은 것이 훨씬 더 우아 할 것입니다. 내 요점은, 내가 iconv에서 그것을하고있다하더라도, 그것은'string' 입력으로 라이브러리를 사용하는 방법이 명확하지 않다는 것입니다. –
잘 모르겠지만 도움이 될 수 있습니다. http://www.openldap.org/lists/openldap-devel/200304/msg00123.html – gerbit