In fact, the null byte is the only character you can expect not to show up in file names; on Unixoid and DOSish systems, the slash is also guaranteed not to appear, unless maybe you're working with a shot filesystem (I don't think we need to discuss that case). DOSish systems impose a whole lot of additional restrictions of course; none of those exist on Unixoid systems. On other systems than those, all bets are off; I wouldn't be surprised if the slash was a valid part of filenames on something "weird" like VMS.
Makeshifts last the longest.