From 06e7facc846ed655c4b8d23b2b7cca919f371238 Mon Sep 17 00:00:00 2001 From: Shubham Aggarwal Date: Sat, 29 Oct 2016 16:29:14 +0530 Subject: [PATCH 1/3] Added HexToAscii example. --- .../com/baeldung/hextToAscii/HexToAscii.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java diff --git a/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java new file mode 100644 index 0000000000..a3e0dd431d --- /dev/null +++ b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java @@ -0,0 +1,38 @@ +package com.baeldung.hexToAscii; + +public class HexToAscii { + + public static void main(String[] args) { + + String demoString = "http://www.baeldung.com/jackson-serialize-dates"; + + System.out.println("Original statement: " + demoString); + + String hexEquivalent = asciiToHex(demoString); + System.out.println("Hex equivalent: " + hexEquivalent); + + String asciiEquivalent = hexToASCII(hexEquivalent); + System.out.println("Ascii equivalent: " + asciiEquivalent); + } + + private static String asciiToHex(String asciiStr) { + + char[] chars = asciiStr.toCharArray(); + StringBuilder hex = new StringBuilder(); + for (char ch : chars) { + hex.append(Integer.toHexString((int) ch)); + } + + return hex.toString(); + } + + private static String hexToASCII(String hexStr) { + + StringBuilder output = new StringBuilder(""); + for (int i = 0; i < hexStr.length(); i += 2) { + String str = hexStr.substring(i, i + 2); + output.append((char) Integer.parseInt(str, 16)); + } + return output.toString(); + } +} From 961f4f5b1e7ea99b4b25c3d77bcb05621b98b3dd Mon Sep 17 00:00:00 2001 From: Shubham Aggarwal Date: Thu, 3 Nov 2016 09:13:21 +0530 Subject: [PATCH 2/3] Test case created for HexToAscii --- .../java/com/baeldung/hextToAscii/HexToAscii.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java index a3e0dd431d..d6db2218bf 100644 --- a/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java +++ b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java @@ -2,17 +2,14 @@ package com.baeldung.hexToAscii; public class HexToAscii { - public static void main(String[] args) { + @Test + public static void main() { - String demoString = "http://www.baeldung.com/jackson-serialize-dates"; + String asciiString = "http://www.baeldung.com/jackson-serialize-dates"; + String hexEquivalent = "687474703a2f2f7777772e6261656c64756e672e636f6d2f6a61636b736f6e2d73657269616c697a652d6461746573"; - System.out.println("Original statement: " + demoString); - - String hexEquivalent = asciiToHex(demoString); - System.out.println("Hex equivalent: " + hexEquivalent); - - String asciiEquivalent = hexToASCII(hexEquivalent); - System.out.println("Ascii equivalent: " + asciiEquivalent); + assertEquals(hexEquivalent, asciiToHex(asciiString)); + assertEquals(asciiString, hexToAscii(hexEquivalent)); } private static String asciiToHex(String asciiStr) { From f1d720919859a0187ef36d89e219c233eb95036d Mon Sep 17 00:00:00 2001 From: Shubham Aggarwal Date: Thu, 3 Nov 2016 09:17:28 +0530 Subject: [PATCH 3/3] Test case created for HexToAscii --- .../java/com/baeldung/hextToAscii/HexToAscii.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java index d6db2218bf..4c20215288 100644 --- a/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java +++ b/core-java/src/main/java/com/baeldung/hextToAscii/HexToAscii.java @@ -3,13 +3,21 @@ package com.baeldung.hexToAscii; public class HexToAscii { @Test - public static void main() { + public static void whenHexToAscii() { + + String asciiString = "http://www.baeldung.com/jackson-serialize-dates"; + String hexEquivalent = "687474703a2f2f7777772e6261656c64756e672e636f6d2f6a61636b736f6e2d73657269616c697a652d6461746573"; + + assertEquals(asciiString, hexToAscii(hexEquivalent)); + } + + @Test + public static void whenAsciiToHex() { String asciiString = "http://www.baeldung.com/jackson-serialize-dates"; String hexEquivalent = "687474703a2f2f7777772e6261656c64756e672e636f6d2f6a61636b736f6e2d73657269616c697a652d6461746573"; assertEquals(hexEquivalent, asciiToHex(asciiString)); - assertEquals(asciiString, hexToAscii(hexEquivalent)); } private static String asciiToHex(String asciiStr) {