public static function encode(string $string, string $encoding, int $lineLength, string $lineEnd) : string
{
switch ($encoding) {
case self::BASE64:
return self::encodeBase64($string, $lineLength, $lineEnd);
case self::BIT7:
// Break missing intentionally
// Break missing intentionally
case self::BIT8:
return \Jyxo\StringUtil::fixLineEnding(trim($string), $lineEnd) . $lineEnd;
case self::QUOTED_PRINTABLE:
return self::encodeQuotedPrintable($string, $lineLength, $lineEnd);
case self::BINARY:
return $string;
default:
throw new \InvalidArgumentException(sprintf('Incompatible encoding %s.', $encoding));
}
}