I don't know why the DOS end of file character cannot be included, but the CHR(0) makes sense.

The problem is that because strings are variable length you need a character to determine where the string ends in memory, and CHR(0) is the one normally used.

If you want to handle CHR(0) then you have to use a "binary" storage method, commonly an array of characters with an additional variable for the data length.

This all adds significant complexity to the coding. You would need new ways of reading, writing, printing, substringing, catenating and comparing "binary strings" which would require length parameters to determine how much of your storage object to consider.

So I don't think we'll see CHR(0) in general strings.

AJH's use of arrays and objects which handle binary data is the way to go.