WAD. @FILEREADB is intended to return "a string of space-separated numeric digits representing the ASCII value of each character" (see the help). You get a space even with one character. (It has always behaved this way, and changing it now would break every batch file that uses @FILEREADB.)... except on **EOF**. That makes it hard to test its output.
v:\> set h=%@fileopen[rats.txt,r,b] v:\> do i=0 to 7 ( echo ^^>%@filereadb[%h,1] ) > 82 > 97 > 116 > 115 > 33 > 13 > 10 >**EOF**
echo %@fileread[%h,7] 82 97 116 115 33 13 10 **EOF**