src/Peach/DF/Utf8Codec.php
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));
    }
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));
    }
指定された Unicode 符号点を表現する 1 文字分の UTF-8 文字列を返します.
@param  int $unicode Unicode 符号点
@return string 引数の Unicode 文字を表現する UTF-8 文字列