If you write files in ASCII you’re already writing in UTF-8.
That’s true, though if you’re writing UTF-8 you have to handle the corner cases when reading UTF-8, of which there are many.
Fortunately they’re easy to test for and most languages have standard libraries that make this painless.
ASCII has, in principal, infinitely many superset.
And in practice, still a rather large number of them, going back to the 1970's - https://en.wikipedia.org/wiki/Extended_ASCII
That’s true, though if you’re writing UTF-8 you have to handle the corner cases when reading UTF-8, of which there are many.
Fortunately they’re easy to test for and most languages have standard libraries that make this painless.