当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang compose_query(QueryList, Options)用法及代码示例


compose_query(QueryList, Options) -> QueryString
OTP 21.0
类型:
QueryList = [{unicode:chardata(), unicode:chardata() | true}]
Options = [{encoding, atom()}]
QueryString = uri_string() | error()

compose_query/1 相同,但附加了 Options 参数,用于控制编码算法使用的编码 ("charset")。有两种支持的编码: utf8 (或 unicode )和 latin1

条目名称和值中无法使用所选字符编码表示的每个字符都将替换为由 U+0026 与符号 (&)、"#" (U+0023) 字符、一个或多个 ASCII 组成的字符串代表以十为基数的字符的 Unicode 代码点的数字,最后是 ";" (U+003B) 字符。

超出 0x2A、0x2D、0x2E、0x30 到 0x39、0x41 到 0x5A、0x5F、0x61 到 0x7A 范围的字节采用百分比编码(U+0025 百分比符号字符 (%) 后跟表示十六进制的大写 ASCII 十六进制数字)字节的值)。

另请参阅相反的操作 dissect_query/1.

例子:

1> uri_string:compose_query([{"foo bar","1"},{"city","örebro"}],
1> [{encoding, latin1}]).
"foo+bar=1&city=%F6rebro"
2> uri_string:compose_query([{<<"foo bar">>,<<"1">>},
2> {<<"city">>,<<"東京"/utf8>>}], [{encoding, latin1}]).
<<"foo+bar=1&city=%26%2326481%3B%26%2320140%3B">>

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 compose_query(QueryList, Options) -> QueryString。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。