일부 서비스로 요청을 송수신하기 위해 erlang에서 표준 httpc 클라이언트를 사용하고 있습니다. 때로는 URL에 키릴 문자 경로가 있습니다. 키릴 문자를 URL로 인코딩하려면 어떻게해야합니까?얼랭 (Erlang)과 키릴 문자로 URL 인코딩하기
감사합니다.
일부 서비스로 요청을 송수신하기 위해 erlang에서 표준 httpc 클라이언트를 사용하고 있습니다. 때로는 URL에 키릴 문자 경로가 있습니다. 키릴 문자를 URL로 인코딩하려면 어떻게해야합니까?얼랭 (Erlang)과 키릴 문자로 URL 인코딩하기
감사합니다.
~/erl$erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1> Encoded = edoc_lib:escape_uri("абвгдеё").
"%c0%b0%c0%b1%c0%b2%c0%b3%c0%b4%c0%b5%c1%91"
2> http_uri:decode(Encoded).
[192,176,192,177,192,178,192,179,192,180,192,181,193,145]
list_to_binary를 사용하여 이진 파일로 사용할 수 있습니다.
나는 edoc lib의 escape_uri에 약간의 문제가있었습니다.
https://stackoverflow.com/a/12648499/113112
https://gist.github.com/3796470
예 :
그래서 내가 UTF-8와 함께 작동 쓰는 일을했다.Eshell V5.9.1 (abort with ^G)
1> c(encode_uri_rfc3986).
{ok,encode_uri_rfc3986}
2> encode_uri_rfc3986:encode("абвгдеё").
"%d0%b0%d0%b1%d0%b2%d0%b3%d0%b4%d0%b5%d1%91"
3> edoc_lib:escape_uri("абвгдеё").
"%c0%b0%c0%b1%c0%b2%c0%b3%c0%b4%c0%b5%c1%91" # output wrong: À°À±À²À³À´ÀµÁ‘