code: private function encodeUnicode($unicode)
      {
          if (!is_int($unicode)) {
              return $this->encodeUnicode(intval($unicode));
          }
          if ($unicode < 0 || 0xFFFF < $unicode) {
              return $this->encodeUnicode(max(0, $unicode % 0x200000));
          }
          
          $count = $this->getCharCount($unicode);
          if ($count === 1) {
              return chr($unicode);
          }
          
          $result = array();
          for ($i = 1; $i < $count; $i++) {
              array_unshift($result, 0x80 + $unicode % 64); // Last 6 bit
              $unicode >>= 6;
          }
          array_unshift($result, $this->getFirstCharPrefix($count) + $unicode);
          return implode("", array_map("chr", $result));
      }
docs: 指定された Unicode 符号点を表現する 1 文字分の UTF-8 文字列を返します.
  @param  int $unicode Unicode 符号点
  @return string 引数の Unicode 文字を表現する UTF-8 文字列