Remix.run Logo
andyferris 4 days ago

I believe the same is true on linux, which only cares about 0x2f bytes (i.e. /)

johncolanduoni 3 days ago | parent | next [-]

Windows paths are not necessarily well-formed UTF-16 (UCS-2 by some people’s definition) down to the filesystem level. If they were always well formed, you could convert to a single byte representation by straightforward Unicode re-encoding. But since they aren’t - there are choices that need to be made about what to do with malformed UTF-16 if you want to round trip them to single byte strings such that they match UTF-8 encoding if they are well formed.

In Linux, they’re 8-bit almost-arbitrary strings like you noted, and usually UTF-8. So they always have a convenient 8-bit encoding (I.e. leave them alone). If you hated yourself and wanted to convert them to UTF-16, however, you’d have the same problem Windows does but in reverse.

orthoxerox 3 days ago | parent | prev | next [-]

And 0x00, if I remember correctly.

matt_kantor 3 days ago | parent | prev [-]

And 0x00.