Skip to main content

Compress Data using ASCII Values and Decompress data to get back original ASCII




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

Popular posts from this blog

Guidewire Rating detailed explanations

Guidewire Rating is a critical component of Guidewire PolicyCenter that handles the calculation of insurance premiums based on various factors, such as risk characteristics, coverage options, and discounts. Here's a detailed explanation of how Guidewire Rating works, its components, and how it can be configured and extended. 1. Overview of Guidewire Rating Guidewire Rating is responsible for determining the price of an insurance policy by applying rating logic, rules, and algorithms to the insured's data. The rating process involves evaluating factors like the type of coverage, the insured risk (e.g., the driver’s record, vehicle type in auto insurance), and the chosen limits and deductibles. The output is a premium amount that the policyholder must pay. 2. Key Components of Guidewire Rating a. Rating Engine The Rating Engine is the core system within PolicyCenter that processes rating inputs and outputs premium calculations. It interprets rating formulas, applies them to speci...

Java Swing MySql JDBC: insert data into database

Program import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; public class insertswing implements ActionListener {   JFrame fr;JPanel po;   JLabel l1,l2,main;   JTextField tf1,tf2;   GridBagConstraints gbc;   GridBagLayout go;   JButton ok,exit; public insertswing(){ fr=new JFrame("New User Data "); Font f=new Font("Verdana",Font.BOLD,24); po=new JPanel(); fr.getContentPane().add(po); fr.setVisible(true); fr.setSize(1024,768); fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); po.setBackground(Color.WHITE); go=new GridBagLayout(); gbc=new GridBagConstraints(); po.setLayout(go); main=new JLabel("Enter User Details "); main.setFont(f); l1=new JLabel("Name  :");tf1=new JTextField(20); l2=new JLabel("User Name  :");tf2=new JTextField(20); ok=new JButton("Accept"); exit=new JButton("Exit"); gbc.anchor=GridBagConstraints.NORTH;gbc.gridx=5;gbc.gridy=0; go.s...

JSP and Servlet Form Submission without page refresh show results on the same page using Jquery AJAX

Code Snippet HTML Form  <form id='ajaxform' name='ajaxform' action='ajaxformexample' method='post'>  First Name: <input type='text' id='firstname' name='firstname' size='30' required/><br/>  Last Name: <input type='text' id='lastname' name='lastname' size='30'required/><br/>  Email:  <input type='email' id='emailid' name='emailid' size='30'required/><br/>  Password:  <input type='password' id='pwd' name='pwd' size='30'required/><br/>  <input type='Submit'/>   <div id='content'> </div> </form> the above HTML Form uses post method and url servlet redirect to " ajaxformexample " Javascript Code  var form = $('#ajaxform'); // id of form tag  form.submit(function () {  $.ajax({  ...