Query: convert::ytext
OS: debian
Section: 3pm
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Convert::YText(3pm) User Contributed Perl Documentation Convert::YText(3pm)NAMEConvert::YText - Quotes strings suitably for rfc2822 local partVERSIONVersion 0.1SYNOPSISuse Convert::YText qw(encode_ytext decode_ytext); $encoded=encode_ytext($string); $decoded=decode_ytext($encoded); ($decoded eq $string) || die "this should never happen!";DESCRIPTIONConvert::YText converts strings to and from "YText", a format inspired by xtext defined in RFC1894, the MIME base64 and quoted-printable types (RFC 1394). The main goal is encode a UTF8 string into something safe for use as the local part in an internet email address (RFC2822). By default spaces are replaced with "+", "/" with "~", the characters "A-Za-z0-9_.-" encode as themselves, and everything else is written "=USTR=" where USTR is the base64 (using "A-Za-z0-9_." as digits) encoding of the unicode character code. The encoding is configurable (see below).PROCEDURAL INTERFACEThe module can can export "encode_ytext" which converts arbitrary unicode string into a "safe" form, and "decode_ytext" which recovers the original text. "validate_ytext" is a heuristic which returns 0 for bad input. OBJECT ORIENTED INTERFACE. For more control, you will need to use the OO interface. new Create a new encoding object. Arguments Arguments are by name (i.e. a hash). DIGIT_STRING ("A-Za-z0-9_.") Must be 64 characters long ESCAPE_CHAR ('=') Must not be in digit string. SPACE_CHAR ('+') Non digit to replace space. Can be the empty string. SLASH_CHAR ( '~') Non digit to replace slash. Can be the empty string. EXTRA_CHARS ('._-') Other characters to leave unencoded. encode Arguments a string to encode. Returns encoded string decode Arguments a string to decode. Returns encoded string valid Simple necessary but not sufficient test for validity.DISCUSSIONAccording to RFC 2822, the following non-alphanumerics are OK for the local part of an address: "!#$%&'*+-/=?^_`{|}~". On the other hand, it seems common in practice to block addresses having "%!/|`#&?" in the local part. The idea is to restrict ourselves to basic ASCII alphanumerics, plus a small set of printable ASCII, namely "=_+-~.". The characters '+' and '-' are pretty widely used to attach suffixes (although usually only one works on a given mail host). It seems ok to use '+-', since the first marks the beginning of a suffix, and then is a regular character. The character '.' also seems mostly permissable.AUTHORDavid Bremner, <ddb@cpan.org<gt>COPYRIGHTCopyright (C) 2011 David Bremner. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.SEE ALSOMIME::Base64, MIME::Decoder::Base64, MIME::Decoder::QuotedPrint. perl v5.10.1 2011-04-03 Convert::YText(3pm)
Related Man Pages |
---|
mime::base645.18(3pm) - mojave |
mime::quotedprint5.18(3pm) - mojave |
mime::quotedprint(3pm) - osx |
mime::base645.12(3pm) - osx |
mime::quotedprint(3perl) - debian |
Similar Topics in the Unix Linux Community |
---|
Adding the individual columns of a matrix. |
Installing Dash Shell on OS X Lion |
One instance of comparing grep and awk |
Weird 'find' results |
A (ksh) Library For and From UNIX.com |