The ASCII NUL character \0
cannot be a part of a pathname on Windows or Unix (including Mac), so you probably can use that as a separator.
The NUL character can't be used in a file path because it is the string terminator character in C, and the APIs for these operating systems are defined as a C libraries that use strings to represent file paths.
If you want to use a printable character as a separator you'll have to use an escape code scheme. One of the simplest is doubling the separator: suppose you use # as the separator; to add a path to the list you replace any # already present in the path with ##.