[#boost-urls-encode] = xref:boost.adoc[boost]::xref:boost/urls.adoc[urls]::encode :relfileprefix: ../../ :mrdocs: Apply percent‐encoding to a string == Synopsis Declared in `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/encode.hpp#L119[boost/url/encode.hpp]>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<xref:boost/urls/grammar.adoc[grammar]::xref:boost/urls/grammar/CharSet.adoc[CharSet] CS> std::size_t xref:boost/urls/encode-09.adoc[encode]( char* dest, std::size_t size, core::string_view s, CS const& unreserved, xref:boost/urls/encoding_opts.adoc[encoding_opts] opt = {}); ---- [.small]#xref:boost/urls/encode-09.adoc[_» more..._]# [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< xref:boost/urls/string_token.adoc[string_token]::xref:boost/urls/string_token/StringToken.adoc[StringToken] StringToken = xref:boost/urls/string_token.adoc[string_token]::xref:boost/urls/string_token/return_string.adoc[return_string], xref:boost/urls/grammar.adoc[grammar]::xref:boost/urls/grammar/CharSet.adoc[CharSet] CS> StringToken::result_type xref:boost/urls/encode-04.adoc[encode]( core::string_view s, CS const& unreserved, xref:boost/urls/encoding_opts.adoc[encoding_opts] opt = {}, StringToken&& token = {}) noexcept; ---- [.small]#xref:boost/urls/encode-04.adoc[_» more..._]# == Description This function applies percent‐encoding to the string using the given options and character set. The destination buffer provided by the caller is used to store the result, which may be truncated if there is insufficient space. === Example [,cpp] ---- char buf[100]; assert( encode( buf, sizeof(buf), "Program Files", pchars ) == 15 ); ---- === Exception Safety Throws nothing. === Specification * link:https://datatracker.ietf.org/doc/html/rfc3986#section-2.1[2.1. Percent‐Encoding (rfc3986)] == Return Value The number of characters written to the destination buffer. == Parameters |=== | Name | Description | *dest* | The destination buffer to write to. | *size* | The number of writable characters pointed to by `dest`. If this is less than `encoded_size(s)`, the result is truncated. | *s* | The string to encode. | *unreserved* | The set of characters that is not percent‐encoded. | *opt* | The options for encoding. If this parameter is omitted, the default options are used. | *token* | A string token. |=== == See Also xref:boost/urls/encode-04.adoc[encode], xref:boost/urls/encoded_size.adoc[encoded_size], xref:boost/urls/make_pct_string_view.adoc[make_pct_string_view]. [.small]#Created with https://www.mrdocs.com[MrDocs]#