Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.temp.shared.utils;

/**
 * Support Transforming between a character and the first 6 bits (0-63) of a
 * Positive int.
 * <p/>
 * The 64 characters used are the ALph-Numeric characters of 7-bit Ascii, a dash
 * ('-'), and a period ('.').
 */
public class SixBitCodec {
    public static char encode( int pValue ) {
        if ( pValue < 0 ) {
            throw new IllegalArgumentException( "Negative int not supported" );
        }
        pValue = pValue & 63;
        if ( pValue < 10 ) {
            return (char) ('0' + pValue);
        }
        if ( (pValue -= 10) < 26 ) {
            return (char) ('A' + pValue);
        }
        if ( (pValue -= 26) < 26 ) {
            return (char) ('a' + pValue);
        }
        return ((pValue -= 26) == 0) ? '-' : '.';
    }

    public static int decode( char pValue ) {
        if ( ('0' <= pValue) && (pValue <= '9') ) {
            return pValue - '0';
        }
        if ( ('A' <= pValue) && (pValue <= 'Z') ) {
            return (pValue - 'A') + 10;
        }
        if ( ('a' <= pValue) && (pValue <= 'z') ) {
            return (pValue - 'a') + 36;
        }
        if ( pValue == '-' ) {
            return 62;
        }
        if ( pValue == '.' ) {
            return 63;
        }
        throw new IllegalArgumentException( "Unacceptable character '" + pValue + "': " + (int) pValue );
    }
}

Commits for litesoft/trunk/GWT_Sandbox/FormEngine/src/com/temp/shared/utils/SixBitCodec.java

Diff revisions: vs.
Revision Author Commited Message
948 Diff Diff GeorgeS picture GeorgeS Sat 07 Jun, 2014 23:42:39 +0000

Jusefuls Formatter Updated to New Code Format

626 GeorgeS picture GeorgeS Wed 11 Apr, 2012 19:39:41 +0000