猿问

有没有办法在 Java 中将字符串(逐个字符)转换为其 ASCII 值?

我目前正在尝试编写一个加密程序,我正在尝试弄清楚用户如何输入字符串(数字、字母和特殊字符的混合)并让程序将每个字符转换为其数字 ASCII 值。我在互联网上进行了搜索,但似乎找不到任何可以执行此操作的方法或代码行。现在在有人说“尝试将其转换为整数”之前,我已经尝试过但它不起作用。因此,如果有人能在这件事上帮助我,我将不胜感激。


呼唤远方
浏览 180回答 2
2回答

幕布斯7119047

要将字符转换为数字,您需要选择一种编码。US-ASCII 是一种方法,但请注意,US-ASCII 仅定义了大约 95 个字符;任何不是这 95 个字符之一的字符都会导致转换为字节的过程引发异常。当您希望能够转换所有字符(从 ü 到 ☃ 到表情符号)时,UTF-8 是通常的首选。请注意,在 UTF-8 中,任何非 ASCII 字符最终都会成为一个字符的多个字节,因此一个 10 字符的字符串最终可能会多达 50 个字节。String test = "Hello!";byte[] asBytes = test.getBytes(StandardCharsets.US_ASCII);String fancy = "Wééé! ☃";byte[] fancyBytes = fancy.getBytes(StandardCharsets.UTF_8);

小唯快跑啊

您可以遍历字符串并使用字符串的 charAt() 方法:String s = "abcd";for (int i = 0; i < s.length(); i++) {&nbsp; &nbsp; char c = s.charAt(i);&nbsp; &nbsp; int value = s.charAt(i);&nbsp; &nbsp; System.out.println(c + " " + value);}将打印:a 97b 98c 99d 100
随时随地看视频慕课网APP

相关分类

Java
我要回答