|
|
|
|
|
by paavoova
2799 days ago
|
|
It's invalid for unix filenames to have a null character. Therefore, if your application is printing filenames in their unicode representation, it doesn't ever need to consider there to be a null byte. This of course isn't an arbitrary case, but it shows one can make assumptions regardless of the "validity" of a character.
I believe for most cases of arbitrary input, the correct and safe thing to do is to assume a byte stream of unknown encoding. |
|
While null in filenames may be forbidden on Unix (and also on Windows), there are more exotic systems where it is allowed [1]. When writing portable software it's probably best not to make assumptions about what characters will never be in a filename.
Naturally if you have a problem where you can get away with just moving bytes around and never making assumptions about its contents then that is a great solution.
[1]: https://en.wikipedia.org/wiki/Filename#Comparison_of_filenam...