For what it's worth you could also write that as:
result = ''
for b in file_bytes_iterator:
if b == '\0': break
result += b
if b != '\0':
throw ValueError("String is unterminated")
And while we're one the subject, I would also really like to have a construction like: result = ''
while b != '\0' for b in file_bytes_iterator:
result += b
if b != '\0':
throw ValueError("String is unterminated")
but I fear opinion might be divided on that one.