Depends on what you mean by "all ASCII".
ASCII defines character codes from 0x00 to 0x7F (000-127). So any byte that's 128-255 is not ASCII, although it still could be a text file. (If I put a 248 byte in there, it will show up as a degree symbol on some systems - still text, but not ASCII.
On the other hand, if the file contains a LOT of 0x00 - 0x08, and 0x0E - 0x1F characters, it's still ASCII codes, but not likely a text file.
Your best bet, for an arbitrary file that someone hands you, is to look at the lexical class of every byte, and use the percentage of printable characters.
If you have total control over writing and reading the file, then you might use a datalog file containing a string. No matter what the extension, the file dialo
g will recognize it as a valid file. It will NOT recognize other files, even if they have the same extension. But you can't edit it in NotePad anymore...