
InterviewCoder
# 【Java】Java 字符与 ASCII 码互转
字符转对应 ASCII 码
1 2 3 4 5 6 7 8
| char ch = 'A'; byte byteAscii = (byte) ch; System.out.println(byteAscii);
int byteAscii1 = (int) ch; System.out.println(byteAscii1);
|
ASCII 码转字符
1 2 3 4
| int ascii = 65; char ch1 = (char)ascii; System.out.println(ch1);
|
应用实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.regex.Pattern;
public class HJ21Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.next();
Map<Integer, String> map = new HashMap<>(); map.put(1, "1"); map.put(2, "abc"); map.put(3, "def"); map.put(4, "ghi"); map.put(5, "jkl"); map.put(6, "mno"); map.put(7, "pqrs"); map.put(8, "tuv"); map.put(9, "wxyz"); map.put(0, "0");
char[] chars = input.toCharArray(); int length = chars.length;
StringBuilder builder = new StringBuilder();
for (int i = 0; i < length; i++) { int finalI = i; map.forEach((k, v) -> { if (v.contains(String.valueOf(chars[finalI]))) { builder.append(k); } });
int u = chars[finalI]; if (u >= 65 && u <= 90) { int i1 = u + 33; if (i1 == 123 ) { builder.append("a"); } else { char ch = (char) (u + 33); builder.append(ch); } } Pattern pattern = Pattern.compile("[2-9]"); if (pattern.matcher(String.valueOf(chars[finalI])).matches()) { builder.append(chars[i]); } }
System.out.println(builder);
} }
|
运行结果

在这里插入图片描述
# 关于我
Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!

InterviewCoder
非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!