Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MIME::EcoEncode(3)    User Contributed Perl Documentation   MIME::EcoEncode(3)

NAME
       MIME::EcoEncode - MIME Encoding (Economical)

SYNOPSIS
	use MIME::EcoEncode;
	$encoded = mime_eco($str, 'UTF-8');	   # encode utf8 string
	$encoded = mime_eco($str, 'UTF-8?B');	   # ditto ("B"	encoding)
	$encoded = mime_eco($str, 'UTF-8?Q');	   # ditto ("Q"	encoding)
	$encoded = mime_eco($str, 'UTF-8*XX');	   # XX	is RFC2231's language
	$encoded = mime_eco($str, 'UTF-8*XX?B');   # ditto ("B"	encoding)
	$encoded = mime_eco($str, 'UTF-8*XX?Q');   # ditto ("Q"	encoding)
	$encoded = mime_eco($str, 'GB2312');	   # encode euc-cn string
	$encoded = mime_eco($str, 'EUC-KR');	   # encode euc-kr string
	$encoded = mime_eco($str, 'Big5');	   # encode big5 string
	$encoded = mime_eco($str, 'Shift_JIS');	   # encode cp932 string
	$encoded = mime_eco($str, 'ISO-2022-JP');  # encode 7bit-jis string
	$encoded = mime_eco($str, $sbcs);	   # $sbcs :
						   #   single-byte charset
						   #	 (e.g. 'ISO-8859-1')

	$decoded = mime_deco($encoded);		   # decode encoded string
						   #   (for single charset)

	($decoded, $charset, $language)		   # return array
		 = mime_deco($encoded);		   #   (for single charset)

	use Encode;
	$decoded = mime_deco($encoded, \&cb);	   # cb	is callback subroutine
						   #   (for multiple charsets)

	# Example of callback subroutine
	sub cb {
	  my ($encoded_word, $charset, $language, $decoded_word) = @_;
	  encode_utf8(decode($charset, $decoded_word));
	}

DESCRIPTION
       This module implements RFC 2047 Mime Header Encoding.

   Options
	 $encoded = mime_eco($str, $charset, $lf, $bpl,	$mode, $lss);
		      #	$charset : 'UTF-8' / 'UTF-8?Q' / 'UTF-8*XX' /
		      #		   'GB2312' / 'EUC-KR' / 'Big5'	/
		      #		   'Shift_JIS' / 'ISO-2022-JP' / ...
		      #		   (default: 'UTF-8')
		      #		     Note: "B" encoding	is all defaults.
		      #			   The others are all encoded as
		      #			   single-byte string.
		      #	$lf	 : line	feed (default: "\n")
		      #	$bpl	 : bytes per line (default: 76)
		      #	$mode	 : 0 : unstructured header (e.g. Subject)
		      #		   1 : structured header (e.g. To, Cc, From)
		      #		   2 : auto (Subject or	Comments ? 0 : 1)
		      #		   (default: 2)
		      #	$lss	 : length of security space (default: 25)

   Examples
       Ex1 - normal (structured	header)

	 use MIME::EcoEncode;
	 my $str = "From: Sakura <sakura\@example.jp> (\xe6\xa1\x9c)\n";
	 print mime_eco($str);

       Ex1's output:

	 From: Sakura <sakura@example.jp> (=?UTF-8?B?5qGc?=)

       Ex2 - "Q" encoding + RFC2231's language

	 use MIME::EcoEncode;
	 my $str = "From: Sakura <sakura\@example.jp> (\xe6\xa1\x9c)\n";
	 print mime_eco($str, 'UTF-8*ja-JP?Q');

       Ex2's output:

	 From: Sakura <sakura@example.jp> (=?UTF-8*ja-JP?Q?=E6=A1=9C?=)

       Ex3 - continuous	spaces

	 use MIME::EcoEncode;
	 my $str = "From: Sakura  <sakura\@example.jp>	  (\xe6\xa1\x9c)\n";
	 print mime_eco($str);

       Ex3's output:

	 From: Sakura  <sakura@example.jp>    (=?UTF-8?B?5qGc?=)

       Ex4 - unstructured header (1)

	 use MIME::EcoEncode;
	 my $str = "Subject: Sakura (\xe6\xa1\x9c)\n";
	 print mime_eco($str);

       Ex4's output:

	 Subject: Sakura =?UTF-8?B?KOahnCk=?=

       Ex5 - unstructured header (2)

	 use MIME::EcoEncode;
	 my $str = "Subject: \xe6\xa1\x9c  Sakura\n";
	 print mime_eco($str);

       Ex5's output:

	 Subject: =?UTF-8?B?5qGc?=  Sakura

       Ex6 - 7bit-jis string

	 use Encode;
	 use MIME::EcoEncode;
	 my $str = "Subject: \xe6\xa1\x9c  Sakura\n";
	 print mime_eco(encode('7bit-jis', decode_utf8($str)), 'ISO-2022-JP');

       Ex6's output:

	 Subject: =?ISO-2022-JP?B?GyRCOnkbKEI=?=  Sakura

SEE ALSO
       MIME::EcoEncode::Param, MIME::EcoEncode::Fold

       For more	information, please visit
       http://www.nips.ac.jp/~murata/mimeeco/

AUTHOR
       MURATA Yasuhisa <murata@nips.ac.jp>

COPYRIGHT
       Copyright (C) 2011-2013 MURATA Yasuhisa

LICENSE
       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.1			  2013-11-13		    MIME::EcoEncode(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHOR | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MIME::EcoEncode&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help