public class StrAscii {
public static void main(String[] args)
{
StrAscii.stringToBytesASCII("Apple");
}
public static byte[] stringToBytesASCII(String str) {
byte[] b = new byte[str.length()];
for (int i = 0; i < b.length; i++) {
System.out.println("Before Ascii "+i+" ="+b[i]);
b[i] = (byte) str.charAt(i);
System.out.println("After Ascii "+i+" ="+b[i]);
StrAscii sa=new StrAscii();
System.out.println("Compressed data Bytes "+i+" ="+sa.compressbyte(b[i]));
System.out.println("Compressed data Slots "+i+" ="+sa.compressslot(b[i]));
System.out.println("Decompressed data "+i+" ="+ (sa.compressbyte(b[i])*9+sa.compressslot(b[i])));
}
return b;
}
public long compressslot(long x)
{
x = x%9;
return x;
}
public long compressbyte(long y)
{
y = y/9;
return y;
}
}
Output
Before Ascii 0 =0
After Ascii 0 =65
Compressed data Bytes 0 =7
Compressed data Slots 0 =2
Decompressed data 0 =65
Before Ascii 1 =0
After Ascii 1 =112
Compressed data Bytes 1 =12
Compressed data Slots 1 =4
Decompressed data 1 =112
Before Ascii 2 =0
After Ascii 2 =112
Compressed data Bytes 2 =12
Compressed data Slots 2 =4
Decompressed data 2 =112
Before Ascii 3 =0
After Ascii 3 =108
Compressed data Bytes 3 =12
Compressed data Slots 3 =0
Decompressed data 3 =108
Before Ascii 4 =0
After Ascii 4 =101
Compressed data Bytes 4 =11
Compressed data Slots 4 =2
Decompressed data 4 =101
Apple ===> Array [0... 4 ] => 0 = A =65, 1=p=112, 2=p=112, 3=l=108,4=e=101.
After Compression process
compressing Data byte Values { 7,12,12,12,11}
compressing Data Slot Values { 2,4,4,0,2 }
Decompression process very simple just like this =>(sa.compressbyte(b[i])*9+sa.compressslot(b[i]))=>7*9+2=> 65 =>A
Comments
Post a Comment
Share this to your friends