How Logseq handles file name restrictions

Logseq lets you name pages whatever you want, at least as far as I've tried within the bounds of on-keyboard ASCII characters. It lets me use colons and question marks in page names. It also names the underlying files after the name of the page.

How does that work? Windows does not let you name files things like The End: The Beginning or Final Chapter Prologue?. So what does Logseq do for pages like that?

Logseq uses URL-style encoding for "special" characters in filenames. So these page names become the file names The End%3A The Beginning.md and Final Chapter Prologue%3F.md. This lets Logseq "kind of" include colons and question marks in filenames even though Windows doesn't support that.