Convert disallowed characters in file name (Windows) to decodable substitutes to be suitable for file storage

Sometimes I want to use ! or []*? etc in my file name because that’s the name of the thing I’m linking to; is there a plugin or way to do this? This is not an issue on my Apple devices but is an issue when I upload my vault to certain cloud drives or Windows.