You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p><adata-link-type="biblio" href="#biblio-p2845" title="Formatting of std::filesystem::path">[P2845]</a>, adopted in C++26, added formatting support for <codeclass="highlight"><c-n>std</c-><c-o>::</c-><c-n>filesystem</c-><c-o>::</c-><c-n>path</c-></code>, addressing encoding issues and making formatting
2122
2122
lossless except for one case, unpaired surrogates on Windows. This paper
2123
2123
proposes addressing this case and making formatting 100% lossless by default
2124
-
via the WTF-8 encoding (<adata-link-type="biblio" href="#biblio-wtf" title="The WTF-8 encoding">[WTF]</a>). This will improve consistency in path
2124
+
via the WTF-8 encoding (<adata-link-type="biblio" href="#biblio-wtf-8" title="The WTF-8 encoding">[WTF-8]</a>). This will improve consistency in path
2125
2125
handling between Windows and POSIX platforms and align with the design of <codeclass="highlight"><c-n>std</c-><c-o>::</c-><c-n>format</c-></code> where the default formatting is normally lossless.</p>
<p><adata-link-type="biblio" href="#biblio-p2845" title="Formatting of std::filesystem::path">[P2845]</a> made it possible to format and print Unicode paths, even on Windows,
units with U+FFFD REPLACEMENT CHARACTER per the Unicode Standard, Chapter 3.9
2206
2206
U+FFFD Substitution in Conversion.</p>
2207
2207
</blockquote>
2208
-
<p>WTF-8 is used to handle invalid UTF-16 in Rust (<adata-link-type="biblio" href="#biblio-rust-osstring" title="OsString Struct. The Rust Standard Library.">[RUST-OSSTRING]</a>) and Node.js
2209
-
libuv (<adata-link-type="biblio" href="#biblio-libuv" title="Miscellaneous utilities. libuv Documentation.">[LIBUV]</a>). Python also handles this but with a different mechanism
2210
-
(<adata-link-type="biblio" href="#biblio-pep383" title="PEP 383 – Non-decodable Bytes in System Character Interfaces">[PEP383]</a>).</p>
2208
+
<p>WTF-8 is used to handle invalid UTF-16 in paths and other system APIs in Rust
2209
+
(<adata-link-type="biblio" href="#biblio-rust-osstring" title="OsString Struct. The Rust Standard Library.">[RUST-OSSTRING]</a>) and Node.js libuv (<adata-link-type="biblio" href="#biblio-libuv" title="Miscellaneous utilities. libuv Documentation.">[LIBUV]</a>). Python also handles this but
2210
+
with a different mechanism (<adata-link-type="biblio" href="#biblio-pep383" title="PEP 383 – Non-decodable Bytes in System Character Interfaces">[PEP383]</a>).</p>
<dd>R; et al. <ahref="https://doc.rust-lang.org/std/ffi/struct.OsString.html"><cite>OsString Struct. The Rust Standard Library.</cite></a>. URL: <ahref="https://doc.rust-lang.org/std/ffi/struct.OsString.html">https://doc.rust-lang.org/std/ffi/struct.OsString.html</a>
0 commit comments