root/trunk/lib/AkCharset/utf8_mappings/ascii.php

Revision 976, 3.8 kB (checked in by bermiferrer, 2 years ago)

Adding extra charsets for ActionMailer? unit tests, if you're looking to parse incoming messages you might need to add extra mappings from http://svn.akelos.org/extras/utf8_mappings/

Line 
1 <?php
2
3 /**
4 *@file ascii.php
5 * ASCII Mapping and Charset implementation.
6 *
7 */
8
9 //
10 // +----------------------------------------------------------------------+
11 // | Akelos PHP Application Framework                                     |
12 // +----------------------------------------------------------------------+
13 // | Copyright (c) 2002-2005, Akelos Media, S.L.  http://www.akelos.org/  |
14 // | Released under the GNU Lesser General Public License                 |
15 // +----------------------------------------------------------------------+
16 // | You should have received the following files along with this library |
17 // | - COPYRIGHT (Additional copyright notice)                            |
18 // | - DISCLAIMER (Disclaimer of warranty)                                |
19 // | - README (Important information regarding this library)              |
20 // +----------------------------------------------------------------------+
21 //
22
23
24
25
26
27 /**
28 * ASCII  driver for Charset Class
29 *
30 * Charset::ascii provides functionality to convert
31 * ASCII strings, to UTF-8 multibyte format and vice versa.
32 *
33 * @package AKELOS
34 * @subpackage Localize
35 * @author Bermi Ferrer Martinez <bermi@akelos.org>
36 * @copyright Copyright (c) 2002-2005, Akelos Media, S.L. http://www.akelos.org
37 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html>
38 * @link http://www.unicode.org/Public/MAPPINGS/ Original Mapping taken from Unicode.org
39 * @since 0.1
40 * @version $Revision 0.1 $
41 */
42 class ascii extends AkCharset
43 {
44
45
46     // ------ CLASS ATTRIBUTES ------ //
47
48
49
50     // ---- Private attributes ---- //
51
52
53     /**
54     * ASCII to UTF-8 mapping array.
55     *
56     * @access private
57     * @var    array    $_toUtfMap
58     */
59     var $_toUtfMap = array(0=>0,1=>1,2=>2,3=>3,4=>4,5=>5,6=>6,7=>7,8=>8,9=>9,10=>10,11=>11,12=>12,13=>13,14=>14,15=>15,16=>16,17=>17,18=>18,19=>19,20=>20,21=>21,22=>22,23=>23,24=>24,25=>25,26=>26,27=>27,28=>28,29=>29,30=>30,31=>31,32=>32,33=>33,34=>34,35=>35,36=>36,37=>37,38=>38,39=>39,40=>40,41=>41,42=>42,43=>43,44=>44,45=>45,46=>46,47=>47,48=>48,49=>49,50=>50,51=>51,52=>52,53=>53,54=>54,55=>55,56=>56,57=>57,58=>58,59=>59,60=>60,61=>61,62=>62,63=>63,64=>64,65=>65,66=>66,67=>67,68=>68,69=>69,70=>70,71=>71,72=>72,73=>73,74=>74,75=>75,76=>76,77=>77,78=>78,79=>79,80=>80,81=>81,82=>82,83=>83,84=>84,85=>85,86=>86,87=>87,88=>88,89=>89,90=>90,91=>91,92=>92,93=>93,94=>94,95=>95,96=>96,97=>97,98=>98,99=>99,100=>100,101=>101,102=>102,103=>103,104=>104,105=>105,106=>106,107=>107,108=>108,109=>109,110=>110,111=>111,112=>112,113=>113,114=>114,115=>115,116=>116,117=>117,118=>118,119=>119,120=>120,121=>121,122=>122,123=>123,124=>124,125=>125,126=>126,127=>127);
60         
61
62     /**
63     *  UTF-8 to ASCII mapping array.
64     *
65     * @access private
66     * @var    array    $_fromUtfMap
67     */
68     var $_fromUtfMap = null;
69
70
71     // ------------------------------
72
73
74
75     // ------ CLASS METHODS ------ //
76
77
78     // ---- Public methods ---- //
79
80
81     /**
82     * Encodes given ASCII string into UFT-8
83     *
84     * @access public
85     * @see UtfDecode
86     * @param    string    $string ASCII string
87     * @return    string    UTF-8 string data
88     */
89     function _Utf8StringEncode($string)
90     {
91         return parent::_Utf8StringEncode($string, $this->_toUtfMap);
92     
93     }// -- end of &Utf8StringEncode -- //
94
95     /**
96     * Decodes given UFT-8 string into ASCII
97     *
98     * @access public
99     * @see UtfEncode
100     * @param    string    $string UTF-8 string
101     * @return    string    ASCII string data
102     */
103     function _Utf8StringDecode($string)
104     {
105         $this->_LoadInverseMap();
106         return parent::_Utf8StringDecode($string, $this->_fromUtfMap);
107     }// -- end of &Utf8StringDecode -- //
108         
109         
110     // ---- Private methods ---- //
111         
112     /**
113     * Flips $this->_toUtfMap to $this->_fromUtfMap
114     *
115     * @access private
116     * @return    null
117     */
118     function _LoadInverseMap()
119     {
120         static $loaded;
121         if(!isset($loaded)){
122             $loaded = true;
123             $this->_fromUtfMap = array_flip($this->_toUtfMap);
124         }
125     }// -- end of _LoadInverseMap -- //
126     
127 }
128
129 ?>
Note: See TracBrowser for help on using the browser.