2012-02-29 2 views
1

C++을 통해 일부 문자열에 대한 URL 인코딩을 구현하려고합니다. 문자열 등, ©, ™와 같은 멀티 바이트 문자를 contaim, ® 수C++의 멀티 바이트 문자열에 대한 URL 인코딩

입력 텍스트 :해야
출력 ™ 뭔가 : 뭔가 % 20 % E2 %의 84 % A2

나는 URL을 달성 할 수 encode 또는 encodeURIComponent와 decodeURIComponent, 으로 JS에서 디코딩하지만 C++로 일부 원시 코드가 있으므로 C++를 통해 일부 텍스트를 인코딩해야합니다.

도움이 필요하시면 저에게 큰 도움이 될 것입니다.

답변

1

라이브러리를 찾을 수 없다면 수동으로하기가 어렵지 않습니다. 먼저 문자열을 UTF-8로 인코딩하십시오 (문자열이 다른 인코딩에있는 경우이를 수행하는 표준 라이브러리를 사용하는 것에 대한 다른 게시물이 있습니다). 그런 다음 모든 문자를 127을 넘는 값으로 바꾸고 URL, 문자의 백분율 인코딩 (백분율 기호 뒤에 문자의 값을 나타내는 두 개의 16 진수가옵니다).

+0

임의의 Google 검색에 따르면 제한된 문자는 ": /? # [] @! $ & '() * +,; =" " –

+0

가장 쉬운 해결책은'std :: string replacement [256]'을 호출하고'replacement [ 'a'] = "a"를 설정하면됩니다. @MooingDuck :'% 20'에서 ISTR 인쇄 할 수없는 문자, 특히 CR, LF 및 TAB도 제한됩니다. – MSalters

관련 문제