当前位置: 首页 > 图灵资讯 > 技术篇> java ascii 与字符串互相转换

java ascii 与字符串互相转换

来源:图灵教育
时间:2023-12-26 09:26:38

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