크로스 플랫폼 프로젝트에서 합리적인 C++에서 URI 이스케이프를 수행하는 좋은 방법을 찾고 있습니다.URI Escape C++ wstring
나는이 같은 문자열을 걸릴 함수 싶습니다
L"jiayou加油"
을 반환 :
L"jiayou%E5%8A%A0%E6%B2%B9"
나는 wchar_t를 사용하는 작은 modifacations으로, this 같은 어떤 것을 사용하여 보았다. 그러나 printf 호출 전에 utf-16에서 utf-8로 변환해야합니다. 이것은 나를 문자 인코딩 지옥 이끌고있다.
이 모든 접근법과 다른 모든 접근법은 잘못된 방식으로 느껴집니다. C++에서 wstring을 이스케이프 처리하는 좋은 방법이 있습니까?
'wchar_t'가 UTF-16이되는 플랫폼에서 작업하고 있다는 것을 알고 있습니다. Mac OSX에서는 그렇지 않습니다. 단지 코드 포인트 일뿐입니다 (일명 UTF32). Mac에서는 한 번에 두 개의 'wchar_t'대리 문자를 인코딩 할 필요가 없으므로 큰 차이가 있습니다. – MSalters
그리고 여러분은 어쨌든 문자 인코딩을 벗어나지 않을 것입니다. 당신은 어떻게 "순진한"사람을 피합니까? 저것은 "na % EFve"입니까? (ISO-8859-1 문자 인코딩 사용) – MSalters