Java ASCII与字符串相互转换
前言ASCIII码与字符串之间的转换往往涉及Java编程。ASCII(American Standard Code for Information Interchange)它是一种用于表示字符的标准编码系统,用7位二进制数表示128个字符。
ASCII码与字符串的相互转换可用于密码加密、网络通信、字符处理等多种应用场景。本文将介绍如何在Java中转换ASCII码和字符串,以及一些常见的应用场景。
ASCII码与字符串的转换方法字符串转换ASCII码在Java中,字符串中的每个字符都可以转换为相应的ASCII码,以实现字符串转ASCII码的功能。Java的内置函数可以使用charCodeAt()
ASCII码值获取字符。
以下是如何将字符串转换为ASCII码的示例代码:
public class StringToAscii { public static void main(String[] args) { String str = "Hello World"; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); int ascii = (int) c; System.out.println("Character: " + c + ", ASCII Value: " + ascii); } }}
上述代码将输出字符串中每个字符的ASCII码值:
Character: H, ASCII Value: 72character: e, ASCII Value: 101character: l, ASCII Value: 108character: l, ASCII Value: 108character: o, ASCII Value: 11Character: , ASCII Value: 32character: W, ASCII Value: 87Character: o, ASCII Value: 11Character: r, ASCII Value: 114character: l, ASCII Value: 108character: d, ASCII Value: 100
ASCII码转字符串与字符串转ASCII码相反,我们可以使用Java的内置函数Character.toString()
将ASCII码转换为字符串。
以下是如何将ASCII码转换为字符串的示例代码:
public class AsciiToString { public static void main(String[] args) { int[] asciiArray = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100}; StringBuilder sb = new StringBuilder(); for (int ascii : asciiArray) { char c = (char) ascii; sb.append(c); } String str = sb.toString(); System.out.println("ASCII Array: " + Arrays.toString(asciiArray)); System.out.println("String: " + str); }}
上述代码将输出转换后的字符串:
ASCII Array: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]String: Hello World
加密ASCII码和字符串的常见应用场景密码在密码加密和解密过程中,通常需要将密码字符串转换为ASCII。例如,每个字符的ASCII值可以位移或不同或计算,以提高密码的安全性。
public class PasswordEncryption { public static void main(String[] args) { String password = "password"; StringBuilder encryptedPassword = new StringBuilder(); for (int i = 0; i < password.length(); i++) { char c = password.charAt(i); int ascii = (int) c; // 位移操作ASCII码 int encryptedAscii = ascii + 1; char encryptedChar = (char) encryptedAscii; encryptedPassword.append(encryptedChar); } System.out.println("Original Password: " + password); System.out.println("Encrypted Password: " + encryptedPassword.toString()); }}
上述代码将输出加密密码:
Original Password: passwordEncrypted Password: qbwfsxpsme
网络通信在网络通信中,通常需要将字符串转换为ASCII代码进行传输。例如,您可以将字符串拆分为字符数组,然后传输每个字符的ASCII代码,然后接收方将ASCII代码转换为字符串。
public class NetworkCommunication { public static void main(String[] args) { String message = "Hello Server"; // 将字符串拆分成字符数组 char[] charArray = message.toCharArray(); // 传输每个字符的ASCII码 for (char c : charArray) { int ascii = (int) c; // 将ASCII码发送到服务器 sendTo
