ページの改善
いますぐフォークしてオンライン編集し、このページのプルリクエストを送信します。
Github へのログインが必要です。 これは小さな変更に適しています。
大きな変更を加えたい場合は、通常の cloneの使用をお勧めします。
日本語版について
個人的な学習のために、dlang.orgを翻訳したサイトです。
翻訳に際して、様々なサイトを参考にしています。
std.uri
Encode and decode Uniform Resource Identifiers (URIs).
URIs are used in internet transfer protocols.
Valid URI characters consist of letters, digits,
and the characters ;/?:@&=+$,-.!~*'()
Reserved URI characters are ;/?:@&=+$,
Escape sequences consist of % followed by two hex digits.
License:
Authors:
Source std/uri.d
- class
URIException
: object.Exception; - This Exception is thrown if something goes wrong when encoding or decoding a URI.Examples:
import std.exception : assertThrown; assertThrown!URIException("%ab".decode);
- string
decode
(Char)(scope const(Char)[]encodedURI
)
if (isSomeChar!Char); - Decodes the URI string encodedURI into a UTF-8 string and returns it. Escape sequences that resolve to reserved URI characters are not replaced. Escape sequences that resolve to the '#' character are not replaced.Examples:
writeln("foo%20bar".decode); // "foo bar" writeln("%3C%3E.@.%E2%84%A2".decode); // "<>.@.™" writeln("foo&/".decode); // "foo&/" writeln("!@#$&*(".decode); // "!@#$&*("
- string
decodeComponent
(Char)(scope const(Char)[]encodedURIComponent
)
if (isSomeChar!Char); - Decodes the URI string encodedURI into a UTF-8 string and returns it. All escape sequences are decoded.Examples:
writeln("foo%2F%26".decodeComponent); // "foo/&" writeln("dl%C3%A4ng%20r%C3%B6cks".decodeComponent); // "dläng röcks" writeln("!%40%23%24%25%5E%26*(".decodeComponent); // "!@#$%^&*("
- string
encode
(Char)(scope const(Char)[]uri
)
if (isSomeChar!Char); - Encodes the UTF-8 string uri into a URI and returns that URI. Any character not a valid URI character is escaped. The '#' character is not escaped.Examples:
writeln("foo bar".encode); // "foo%20bar" writeln("<>.@.™".encode); // "%3C%3E.@.%E2%84%A2" writeln("foo/#?a=1&b=2".encode); // "foo/#?a=1&b=2" writeln("dlang+rocks!".encode); // "dlang+rocks!" writeln("!@#$%^&*(".encode); // "!@#$%25%5E&*("
- string
encodeComponent
(Char)(scope const(Char)[]uriComponent
)
if (isSomeChar!Char); - Encodes the UTF-8 string uriComponent into a URI and returns that URI. Any character not a letter, digit, or one of -.!~*'() is escaped.Examples:
writeln("!@#$%^&*(".encodeComponent); // "!%40%23%24%25%5E%26*(" writeln("<>.@.™".encodeComponent); // "%3C%3E.%40.%E2%84%A2" writeln("foo/&".encodeComponent); // "foo%2F%26" writeln("dläng röcks".encodeComponent); // "dl%C3%A4ng%20r%C3%B6cks" writeln("dlang+rocks!".encodeComponent); // "dlang%2Brocks!"
- ptrdiff_t
uriLength
(Char)(scope const(Char)[]s
)
if (isSomeChar!Char); - Does string s[] start with a URL?Returns:-1 it does not len it does, and s[0 .. len] is the slice of s[] that is that URLExamples:
string s1 = "http://www.digitalmars.com/~fred/fredsRX.html#foo end!"; writeln(uriLength(s1)); // 49 string s2 = "no uri here"; writeln(uriLength(s2)); // -1 assert(uriLength("issue 14924") < 0);
- ptrdiff_t
emailLength
(Char)(scope const(Char)[]s
)
if (isSomeChar!Char); - Does string s[] start with an email address?Returns:-1 it does not len it does, and s[0 .. i] is the slice of s[] that is that email address
References RFC2822
Examples:string s1 = "my.e-mail@www.example-domain.com with garbage added"; writeln(emailLength(s1)); // 32 string s2 = "no email address here"; writeln(emailLength(s2)); // -1 assert(emailLength("issue 14924") < 0);
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on Wed Nov 23 08:33:30 2022