Subversion Repositories programming

Rev

Rev 210 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
209 ira 1
import java.io.*;
2
import java.util.*;
3
 
4
public class P2_EncDec
5
{
6
    /*
7
    private final byte[][] encodingTable = {
8
        { 0x0, 0x1E },
9
        { 0x1, 0x09 },
10
        { 0x2, 0x14 },
11
        { 0x3, 0x15 },
12
        { 0x4, 0x0A },
13
        { 0x5, 0x0B },
14
        { 0x6, 0x0E },
15
        { 0x7, 0x0F },
16
        { 0x8, 0x12 },
17
        { 0x9, 0x13 },
18
        { 0xA, 0x16 },
19
        { 0xB, 0x17 },
20
        { 0xC, 0x1A },
21
        { 0xD, 0x1B },
22
        { 0xE, 0x1C },
23
        { 0xF, 0x1D }};
24
    */
25
 
26
    public static final String[][] encodingTable = {
27
        { "0000", "11110" },
28
        { "0001", "01001" },
29
        { "0010", "10100" },
30
        { "0011", "10101" },
31
        { "0100", "01010" },
32
        { "0101", "01011" },
33
        { "0110", "01110" },
34
        { "0111", "01111" },
35
        { "1000", "10010" },
36
        { "1001", "10011" },
37
        { "1010", "10110" },
38
        { "1011", "10111" },
39
        { "1100", "11010" },
40
        { "1101", "11011" },
41
        { "1110", "11100" },
42
        { "1111", "11101" }};
43
 
44
 
45
    public static String convert4B (String _4BNum)
46
    {
47
        int i = encodingTable.length - 1;
48
 
49
        for (; i >= 0; i--)
50
            if (encodingTable[i][0].equals(_4BNum))
51
                return encodingTable[i][1];
52
 
53
        throw new IllegalArgumentException();
54
    }
55
 
56
    public static String convert5B (String _5BNum)
57
    {
58
        int i = encodingTable.length - 1;
59
 
60
        for (; i>=0; i--)
61
            if (encodingTable[i][1].equals(_5BNum))
62
                return encodingTable[i][0];
63
 
64
        throw new IllegalArgumentException();
65
    }
66
 
67
    public static void main (String[] args) throws Exception
68
    {
69
        String conv4 = "1000";
70
        String conv5 = "11100";
71
 
72
        System.out.printf ("Converting %s -> %s\n", conv4, convert4B (conv4));
73
        System.out.printf ("Converting %s -> %s\n", conv5, convert5B (conv5));
74
    }
75
 
76
}
77