Convert Hex To ASCII - Viblo
Có thể bạn quan tâm
Link tham khảo: http://www.baeldung.com/java-convert-hex-to-ascii
1. Overview
Trong bài viết này, chúng ta sẽ thực hiện một số chuyển đổi đơn giản giữa các định dạng Hex và ASCII. Trong một số trường hợp điển hình, dạng Hex có thể được dùng để viết 1 số kiểu int có giá trị rất lớn trong một dạng nhỏ gọn. Ví dụ AD45 ngắn hơn so với số cùng giá trị là 44357, và khi giá trị tăng lên thì sự khác biệt và độ dài chuỗi trở lên rõ ràng hơn
2. ASCII to Hex
Để chuyển đổi từ ASCII sang Hex, chúng ta sẽ làm theo các bước:
- Chuyển String sang char array.
- Đổi từng ký tự char sang int.
- Sử dụng Integer.toHexString() để convert int sang Hex String.
Ví dụ:
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(); }3. Hex to ASCII format
Tương tự, để chuyển đổi từ Hex sang ASCII, chúng ta cũng làm theo 3 bước:
- Cắt Hex String thành các nhóm gồm 2 ký tự
- Chuyển đổi nó thành base 16 Interger sử dụng Integer.parseInt(hex, 16) sau đó cast sang kiểu char.
- Ghép tất cả các ký tự lại với nhau.
Ví dụ:
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(); }4. Test
Cuối cùng thực hiện một bài test nhanh:
@Test public static void whenHexToAscii() { String asciiString = "www.baeldung.com"; String hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals(asciiString, hexToAscii(hexEquivalent)); } @Test public static void whenAsciiToHex() { String asciiString = "www.baeldung.com"; String hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals(hexEquivalent, asciiToHex(asciiString)); }5. Conclusion
Chúng ta đã có cách đơn giản nhất để chuyển đổi giữa ASCII và Hex.
Việc implement này rất đơn giản, có thể đặt những đoạn code này vào bất kỳ project nào đó và nó sẽ chạy một cách bình thường.
Từ khóa » Chuyển Ký Tự Sang Mã Ascii Trong Java
-
Chuyển đổi Ký Tự Thành Giá Trị Số ASCII Trong Java? - HelpEx
-
Tìm Mã ASCII Của Một Ký Tự Trong Java
-
ìm Mã ASCII Của Một Ký Tự Trong Java - Bài Tập Java Có Lời Giải Cơ ...
-
Hỏi Về Chuyển đổi Mã Ascii Và Ký Tự Trong Java - CongDongJava
-
Chủ đề: Chuyển Kí Tự Về Mã ASCII Trong Java
-
Mã Ký Tự Trong Java Là Gì
-
Tìm Mã ASCII Của Một Ký Tự Trong Java - Freetuts
-
Chuyển đổi Ký Tự Thành Giá Trị Số ASCII Trong Java Cập Nhật Mới Nhất ...
-
System-out-print-cac-kieu-bien-va-ASCII-trong-java
-
Java: Hàm Xử Lý Chuỗi (String) | V1Study
-
6-2 Chức Năng Thao Tác Chuỗi
-
Chuyển đổi Một Ký Tự Sang Int Java - TutorialCup
-
Chuyển đổi Một Chuỗi (như Tests123) Thành Nhị Phân Java
-
Base64 Encoding Và Decoding Trong Java 8 - VietMX's Blog