. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Encodings; /** * Convert between UTF-8 and another encoding. */ interface EncodingInterface { // Concrete classes should re-define this. Use the ICONV name, where possible. //public const NAME = '????'; /** * Convert a string from UTF-8 encoding to another encoding. * * @param string $text * * @return string */ public function fromUtf8(string $text): string; /** * Convert a string from another encoding to UTF-8 encoding. * * @param string $text * * @return string */ public function toUtf8(string $text): string; /** * When reading multi-byte encodings using a stream, we must avoid incomplete characters. * * @param string $text * * @return int */ public function convertibleBytes(string $text): int; }