<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1503"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1503/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1503/atom/feed</id>
  <updated>2008-03-10T00:45:30+01:00</updated>
  <entry>
    <title>UUEncodage/décodage</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1503" />
    <id>http://artisan.karma-lab.net/node/1503</id>
    <published>2008-03-10T00:45:30+01:00</published>
    <updated>2008-03-10T00:45:30+01:00</updated>
    <author>
      <name>Ulhume</name>
    </author>
    <category term="java" />
    <category term="Aucun" />
    <category term="javafr" />
    <category term="OK" />
    <category term="Snipet" />
    <summary type="html"><![CDATA[<p>UUEncodage/décodage</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>UUEncodage/décodage</p>
<!--break-->

  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="kw1">public</span> <span class="kw1">class</span> UUEncoding <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">public</span> <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> encode<span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> source<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> encode<span class="br0">&#40;</span>source, ALPHABET<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">public</span> <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> encode<span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> source, <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> alphabetString<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">char</span><span class="br0">&#91;</span><span class="br0">&#93;</span> buffer <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">char</span><span class="br0">&#91;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>source.<span class="me1">length</span> <span class="sy0">+</span> <span class="nu0">2</span><span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">3</span><span class="br0">&#41;</span> <span class="sy0">*</span> <span class="nu0">4</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">char</span><span class="br0">&#91;</span><span class="br0">&#93;</span> alphabet <span class="sy0">=</span> alphabetString.<span class="me1">toCharArray</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> iByte <span class="sy0">=</span> <span class="nu0">0</span>, index <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> iByte <span class="sy0">&lt;</span> source.<span class="me1">length</span><span class="sy0">;</span> iByte <span class="sy0">+=</span> <span class="nu0">3</span>, index <span class="sy0">+=</span> <span class="nu0">4</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">boolean</span> quad <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">boolean</span> trip <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> val <span class="sy0">=</span> <span class="br0">&#40;</span>0xFF <span class="sy0">&amp;</span> source<span class="br0">&#91;</span>iByte<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">&lt;&lt;=</span> <span class="nu0">8</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>iByte <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="sy0">&lt;</span> source.<span class="me1">length</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">|=</span> <span class="br0">&#40;</span>0xFF <span class="sy0">&amp;</span> source<span class="br0">&#91;</span>iByte <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; trip <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">&lt;&lt;=</span> <span class="nu0">8</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>iByte <span class="sy0">+</span> <span class="nu0">2</span><span class="br0">&#41;</span> <span class="sy0">&lt;</span> source.<span class="me1">length</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">|=</span> <span class="br0">&#40;</span>0xFF <span class="sy0">&amp;</span> source<span class="br0">&#91;</span>iByte <span class="sy0">+</span> <span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; quad <span class="sy0">=</span> <span class="kw2">true</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer<span class="br0">&#91;</span>index <span class="sy0">+</span> <span class="nu0">3</span><span class="br0">&#93;</span> <span class="sy0">=</span> alphabet<span class="br0">&#91;</span><span class="br0">&#40;</span>quad <span class="sy0">?</span> <span class="br0">&#40;</span>val <span class="sy0">&amp;</span> 0x3F<span class="br0">&#41;</span> <span class="sy0">:</span> <span class="nu0">64</span><span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">&gt;&gt;=</span> <span class="nu0">6</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer<span class="br0">&#91;</span>index <span class="sy0">+</span> <span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">=</span> alphabet<span class="br0">&#91;</span><span class="br0">&#40;</span>trip <span class="sy0">?</span> <span class="br0">&#40;</span>val <span class="sy0">&amp;</span> 0x3F<span class="br0">&#41;</span> <span class="sy0">:</span> <span class="nu0">64</span><span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">&gt;&gt;=</span> <span class="nu0">6</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer<span class="br0">&#91;</span>index <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">=</span> alphabet<span class="br0">&#91;</span>val <span class="sy0">&amp;</span> 0x3F<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val <span class="sy0">&gt;&gt;=</span> <span class="nu0">6</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer<span class="br0">&#91;</span>index <span class="sy0">+</span> <span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">=</span> alphabet<span class="br0">&#91;</span>val <span class="sy0">&amp;</span> 0x3F<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw1">new</span> <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a><span class="br0">&#40;</span>buffer<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; <span class="coMULTI">/**<br />
&nbsp; &nbsp; &nbsp;* Returns an array of bytes which were encoded in the passed character array.<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param data the array of base64-encoded characters<br />
&nbsp; &nbsp; &nbsp;* @return decoded data array<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">public</span> <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> decode<span class="br0">&#40;</span><a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> encodedString<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">char</span><span class="br0">&#91;</span><span class="br0">&#93;</span> data <span class="sy0">=</span> encodedString.<span class="me1">toCharArray</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> len <span class="sy0">=</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>data.<span class="me1">length</span> <span class="sy0">+</span> <span class="nu0">3</span><span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">4</span><span class="br0">&#41;</span> <span class="sy0">*</span> <span class="nu0">3</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>data.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">0</span> <span class="sy0">&amp;&amp;</span> data<span class="br0">&#91;</span>data.<span class="me1">length</span> <span class="sy0">-</span> <span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'='</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">--</span>len<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>data.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">1</span> <span class="sy0">&amp;&amp;</span> data<span class="br0">&#91;</span>data.<span class="me1">length</span> <span class="sy0">-</span> <span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'='</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">--</span>len<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> out <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">byte</span><span class="br0">&#91;</span>len<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> shift <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="co1">// # of excess bits stored in accum</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> accum <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="co1">// excess bits</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> index <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">char</span> element <span class="sy0">:</span> data<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> value <span class="sy0">=</span> codes<span class="br0">&#91;</span>element <span class="sy0">&amp;</span> 0xFF<span class="br0">&#93;</span><span class="sy0">;</span> <span class="co1">// ignore high byte of char</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>value <span class="sy0">&gt;=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// skip over non-code</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; accum <span class="sy0">&lt;&lt;=</span> <span class="nu0">6</span><span class="sy0">;</span> <span class="co1">// bits shift up by 6 each time thru</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shift <span class="sy0">+=</span> <span class="nu0">6</span><span class="sy0">;</span> <span class="co1">// loop, with new bits being put in</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; accum <span class="sy0">|=</span> value<span class="sy0">;</span> <span class="co1">// at the bottom.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>shift <span class="sy0">&gt;=</span> <span class="nu0">8</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// whenever there are 8 or more shifted in,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shift <span class="sy0">-=</span> <span class="nu0">8</span><span class="sy0">;</span> <span class="co1">// write them out (from the top, leaving any</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; out<span class="br0">&#91;</span>index<span class="sy0">++</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="co1">// excess at the bottom for next iteration.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>accum <span class="sy0">&gt;&gt;</span> shift<span class="br0">&#41;</span> <span class="sy0">&amp;</span> 0xff<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>index <span class="sy0">!=</span> out.<span class="me1">length</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">throw</span> <span class="kw1">new</span> <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AError+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Error</span></a><span class="br0">&#40;</span><span class="st0">&quot;miscalculated data length!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> out<span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="co1">// code characters for values 0..63</span><br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">private</span> <a target="blank" href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> ALPHABET <span class="sy0">=</span> <span class="st0">&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=&quot;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="co1">// lookup table for converting base64 characters to value in range 0..63</span><br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">private</span> <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> codes <span class="sy0">=</span> <span class="kw1">new</span> <span class="kw4">byte</span><span class="br0">&#91;</span><span class="nu0">256</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">static</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> <span class="nu0">256</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">-1</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="st0">'A'</span><span class="sy0">;</span> i <span class="sy0">&lt;=</span> <span class="st0">'Z'</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#41;</span> <span class="br0">&#40;</span>i <span class="sy0">-</span> <span class="st0">'A'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="st0">'a'</span><span class="sy0">;</span> i <span class="sy0">&lt;=</span> <span class="st0">'z'</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="nu0">26</span> <span class="sy0">+</span> i <span class="sy0">-</span> <span class="st0">'a'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="st0">'0'</span><span class="sy0">;</span> i <span class="sy0">&lt;=</span> <span class="st0">'9'</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="kw4">byte</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="nu0">52</span> <span class="sy0">+</span> i <span class="sy0">-</span> <span class="st0">'0'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span><span class="st0">'+'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">62</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; codes<span class="br0">&#91;</span><span class="st0">'/'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">63</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span>
  </div>
  
  </div>    ]]></content>
  </entry>
</feed>
