ZzzzzzzzzzL 2021-12-21 23:24 采纳率: 50%
浏览 21

关于“a”在Unicode与ASCII中有不同值的计算问题

char a1='\u0061';
char a2='a';
char a3='a';

  System.out.println(a1);
  System.out.println(a2);
  System.out.println(a2 + a3);

结果为:
a
a
194

提问:
在Unicode中,a的值为'\u0061',在ASCII中为97
为什么a2+a3会等于一个具体的值“97+97=194”,但是'\u0061'输出的结果也是a,为什么后面的a2+a3不等于61+61?
那什么时候用的是Unicode编码,什么时候用ASCII编码?

  • 写回答

1条回答 默认 最新

  • 关注

    '\u0061'中的61是16进制数 转成十进制数就是97

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月21日