protected function charsToCodepointsWithSurrogates(array $chars)
	{
		$codepoints = [];
		foreach ($chars as $char)
		{
			$cp = $this->cp($char);
			if ($cp < 0x10000)
			{
				$codepoints[] = $cp;
			}
			else
			{
				$codepoints[] = 0xD7C0 + ($cp >> 10);
				$codepoints[] = 0xDC00 + ($cp & 0x3FF);
			}
		}

		return $codepoints;
	}
protected function charsToCodepointsWithSurrogates(array $chars)
	{
		$codepoints = [];
		foreach ($chars as $char)
		{
			$cp = $this->cp($char);
			if ($cp < 0x10000)
			{
				$codepoints[] = $cp;
			}
			else
			{
				$codepoints[] = 0xD7C0 + ($cp >> 10);
				$codepoints[] = 0xDC00 + ($cp & 0x3FF);
			}
		}

		return $codepoints;
	}
protected function charsToCodepointsWithSurrogates ( array $ chars ) { $ codepoints = [ ] ; foreach ( $ chars as $ char ) { $ cp = $ this -> cp ( $ char ) ; if ( $ cp < 0x10000 ) { $ codepoints [ ] = $ cp ; } else { $ codepoints [ ] = 0xD7C0 + ( $ cp >> 10 ) ; $ codepoints [ ] = 0xDC00 + ( $ cp & 0x3FF ) ; } } return $ codepoints ; }
Convert a list of UTF-8 characters into a list of Unicode codepoint with surrogates

@param  string[]  $chars
@return integer[]
Convert a list of UTF - 8 characters into a list of Unicode codepoint with surrogates