. # function throw_if_null($arg) { if ($arg === null) throw new Exception('argument is null'); } function is_ascii($str) { return !preg_match('/[^[:ascii:]]/', $str); } function utf8_quote($str) { return '=?UTF-8?B?' . base64_encode($str) . '?='; } function utf8_quote_non_ascii($str) { return is_ascii($str) ? $str : utf8_quote($str); } ?>