Hello, first poster here.
I have to read bytes from a binary file. Often, I'm only reading 1 or 2 bytes at a time. The problem is that what I'm reading is being displayed as garbage. For example:
$fh = fopen($filepath, 'rb') or exit("Can't open file");
$byte = fread($fh, 2) or exit("Can't read file");
printf("Byte = %u", $byte);
The output is "Version = 0" (if I treat $byte as a string, the output is "Bytes = ?"). That is not correct. Here is the equivelant Java code reading from the same file:
File f = new File(filepath);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
short version = dis.readShort();
System.out.println("Version = " + version);
The output is "Version = 2", which is correct.
Any ideas? Thanks.