code: private static function readBIFF8Constant($valueData)
      {
          // offset: 0; size: 1; identifier for type of constant
          $identifier = ord($valueData[0]);
  
          switch ($identifier) {
              case 0x00: // empty constant (what is this?)
                  $value = '';
                  $size = 9;
  
                  break;
              case 0x01: // number
                  // offset: 1; size: 8; IEEE 754 floating-point value
                  $value = self::extractNumber(substr($valueData, 1, 8));
                  $size = 9;
  
                  break;
              case 0x02: // string value
                  // offset: 1; size: var; Unicode string, 16-bit string length
                  $string = self::readUnicodeStringLong(substr($valueData, 1));
                  $value = '"' . $string['value'] . '"';
                  $size = 1 + $string['size'];
  
                  break;
              case 0x04: // boolean
                  // offset: 1; size: 1; 0 = FALSE, 1 = TRUE
                  if (ord($valueData[1])) {
                      $value = 'TRUE';
                  } else {
                      $value = 'FALSE';
                  }
                  $size = 9;
  
                  break;
              case 0x10: // error code
                  // offset: 1; size: 1; error code
                  $value = Xls\ErrorCode::lookup(ord($valueData[1]));
                  $size = 9;
  
                  break;
          }
  
          return [
              'value' => $value,
              'size' => $size,
          ];
      }
docs: read BIFF8 constant value which may be 'Empty Value', 'Number', 'String Value', 'Boolean Value', 'Error Value'
  section 2.5.7
  returns e.g. ['value' => '5', 'size' => 9].
  
  @param string $valueData
  
  @return array