From the help:
Indeed. I think ReadStringFormat() would serve better if it returned #PB_No_BOM rather than 'guessing' the file is #PB_Ascii, and #PB_Unknown_BOM if a detected BOM is unrecognised. I'm finding ReadStringFormat() is frequently returning #PB_Ascii when the file is UTF8, but without a BOM and I think this reflects the fact that Unicode text files are more prevalent today."if no BOM is detected at the start of a file, it does not necessarily mean that it is a plain text file".
Edit: Not forgetting of course that UTF-8 is designed for backward compatibility with ASCII.
Edit: Related BOM issues:
http://www.purebasic.fr/english/viewtop ... 66#p433766
http://www.purebasic.fr/english/viewtop ... 13&t=55484