3 ms·
It's JVM weirdness on Windows. This isn't a problem on Linux or MacOS where file paths won't be in some arbitrary encoding. This ends up biting a lot of other c
by dhosek 5y ago
It's JVM weirdness on Windows. This isn't a problem on Linux or MacOS where file paths won't be in some arbitrary encoding. This ends up biting a lot of other cross-platform software as well and is why Rust has OSString, but for code in, say, C/C++ it ends up being a major pain point (the TeX development team often end up dealing with this sort of issue).
- breakingcups 5y agoFile paths on Windows aren't in some arbitrary encoding either?
- howinteresting 5y agoIt's actually on Linux where file paths can be just about any byte sequence. They're restricted to be UTF-8 on APFS/HFS+ (with some complicated case folding rules) and UCS-2 on NTFS.
- colejohnson66 5y agoUCS-2? I thought it was UTF-16?
- int_19h 5y agoYou can have unmatched surrogates in the name, for example.
- howinteresting 5y agoIt's UCS-2, unfortunately, which means that unpaired surrogates are allowed.