ASCII to hex and hex to ASCII converter class in JavaScript


Problem

We are required to write a JavaScript class that have to member functions −

  • toHex: It takes in a ASCII string and returns its hexadecimal equivalent.
  • toASCII: It takes in a hexadecimal string and returns its ASCII equivalent.

For example, if the input to the function is −

Input

const str = 'this is a string';

Then the respective hex and ascii should be −

74686973206973206120737472696e67
this is a string

Example

const str = 'this is a string';
class Converter{
   toASCII = (hex = '') => {
      const res = [];
      for(let i = 0; i < hex.length; i += 2){
         res.push(hex.slice(i,i+2));
      };
   return res
      .map(el => String.fromCharCode(parseInt(el, 16)))
      .join('');
   };
   toHex = (ascii = '') => {
      return ascii
         .split('')
         .map(el => el.charCodeAt().toString(16))
         .join('');
   };
};
const converter = new Converter();
const hex = converter.toHex(str);
console.log(hex);
console.log(converter.toASCII(hex));

Output

74686973206973206120737472696e67
this is a string

Updated on: 22-Apr-2021

485 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements