Java怎么用scanner读取中文并且输出中文对应的英文的ascii,ascii码的中文输出这个存在什么方法

Java怎么用scanner读取中文并且输出中文对应的英文的ascii,ascii码的中文输出这个存在什么方法

效果如图 :

img

代码如下 :

import java.util.Scanner;

public class Main2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入中文字符: ");
        String input = scanner.next();

        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            String ascii = getAscii(c);
            System.out.println(c + " 对应的ASCII码为: " + ascii);
        }
    }

    private static String getAscii(char c) {
        byte[] bytes = String.valueOf(c).getBytes();
        StringBuilder builder = new StringBuilder();
        for (byte b : bytes) {
            builder.append(b);
        }
        return builder.toString();
    }
}


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7803455
  • 这篇博客你也可以参考下:java中输出字符的ascii值
  • 以下回答来自chatgpt:

    问题解答:

    由于Java的Scanner类默认使用的字符集是UTF-8,因此可以直接读取输入的中文文本。然后,我们可以使用Java的CharSequence接口中的charAt()方法来逐个访问每个字符,并将它们转换为对应的英文ASCII码。

    以下是一个示例代码:

    import java.util.Scanner;
    
    public class ConvertChineseToASCII {
        public static void main(String[] args) {
            // 创建Scanner对象
            Scanner scanner = new Scanner(System.in);
    
            // 读取输入的中文文本
            System.out.println("请输入中文文本:");
            String chineseText = scanner.nextLine();
    
            // 遍历每个字符并转换为对应的ASCII码
            for (int i = 0; i < chineseText.length(); i++) {
                char chineseChar = chineseText.charAt(i);
                int asciiCode = chineseChar;
                System.out.println(chineseChar + ": " + asciiCode);
            }
    
            // 关闭Scanner对象
            scanner.close();
        }
    }
    

    上述代码中,我们首先使用Scanner类的nextLine()方法读取输入的中文文本。然后,我们使用charAt()方法遍历每个字符,并使用将其存储在变量chineseChar中。然后,我们使用int强制转换操作将chineseChar转换为对应的ASCII码,并将结果存储在变量asciiCode中。最后,我们将字符和对应的ASCII码打印输出。

    请注意,上述代码仅适用于单个字符的转换。如果需要对整个文本进行转换,可以将ASCII码存储在一个数组或集合中。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^