The default canonical form of an object key: trimmed, with runs of / collapsed to one and leading and trailing /
removed. Case is preserved (callers compare case-insensitively).
Nothing else is rewritten. A key whose meaning depends on the provider (a backslash, a ./.. segment, a
meaning-changing percent encoding) is refused by IsSafeStorageObjectKey before it is ever compared, so the
canonical form never has to guess what a driver would make of it.
The default canonical form of an object key: trimmed, with runs of
/collapsed to one and leading and trailing/removed. Case is preserved (callers compare case-insensitively).Nothing else is rewritten. A key whose meaning depends on the provider (a backslash, a
./..segment, a meaning-changing percent encoding) is refused by IsSafeStorageObjectKey before it is ever compared, so the canonical form never has to guess what a driver would make of it.