我目前正在尝试编写一个加密程序,我正在尝试弄清楚用户如何输入字符串(数字、字母和特殊字符的混合)并让程序将每个字符转换为其数字 ASCII 值。我在互联网上进行了搜索,但似乎找不到任何可以执行此操作的方法或代码行。现在在有人说“尝试将其转换为整数”之前,我已经尝试过但它不起作用。因此,如果有人能在这件事上帮助我,我将不胜感激。
2 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
要将字符转换为数字,您需要选择一种编码。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);
小唯快跑啊
TA贡献1863条经验 获得超2个赞
您可以遍历字符串并使用字符串的 charAt() 方法:
String s = "abcd";
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
int value = s.charAt(i);
System.out.println(c + " " + value);
}
将打印:
a 97
b 98
c 99
d 100
添加回答
举报
0/150
提交
取消