4 ms·
Apple filesystems are infamous for breaking this convention. IIUC, they will support codepoints which expand to 4 bytes in UTF-8, but their implicit normalizat
by brandmeyer 5y ago
Apple filesystems are infamous for breaking this convention. IIUC, they will support codepoints which expand to 4 bytes in UTF-8, but their implicit normalization rules can trip up programs which expect behavior closer to POSIX norms.
- loeg 5y agoThey do decomposed normal form, which is a little funky, but that does not mean they don't allow codepoints outside the BMP.
- andrekandre 5y ago> their implicit normalization rules can trip up programs which expect behavior closer to POSIX norms does POSIX define any uniform normalization rules?
- chungy 5y agoNo, but I read "POSIX norms" as what commonly happens on Unix systems: the filenames you get back are what you put into it. Most of them don't concern over character encoding and UTF-8 sequences are just as-is. ZFS is again the special case, the normalization property will normalize names on lookup (they are stored as-is).
- brandmeyer 5y agoA POSIX filename is a sequence of up to 255 bytes excluding NULL and / A reasonable person[1] might argue that this is too liberal. IMO the exclusion list should be larger, but silently and automatically rewriting an application's filename into something else at creation time is too far. [1]: https://dwheeler.com/essays/fixing-unix-linux-filenames.html https://dwheeler.com/essays/fixing-unix-linux-filenames.html