perché come fai a sapere quanti byte devi leggere prima di aver finito il nome??

no, non c'è un modo per sapere quando hai finito, i byte sono info "grezze", possono rappresentare di tutto e proprio per questo non puoi fare assunzioni sul contenuto.