public function get8() {
    if ($this->idx >= $this->limit) {
      throw new ProtocolBufferDecodeError("truncated");
    }
    $c = unpack("C*", substr($this->buf, $this->idx, 1));
    $this->idx += 1;
    return $c[1];
  }