Java在内存中,所有字符的编码都采用的是Unicode编码。 在Unicode编码中,ASCII编码能表示的字符,Unicode编码也能表示,并且,码值相同。 也就是说,ASCII编码用一个字节表示,Unicode用四个字节表示,它们都可以表示成整数。 当我们使用ASCII编码范围内的字符时,该字符的ASCII编码对应的整数值,与Unicode编码的整数值,是相同的。字符编码,其实可以简单理解为,就是建立一个,字符与数值的对应关系。char sa = 'a'; int va = 'a'; char sA = 'A'; int vA = 'A';上述四条语句,sa转换成整数与va相同,sA转换成整数与vA相同;va与vA不同。 字符'a'的ASCII码值与va相同,字符'A'的ASCII码值与vA相同。单字符而言,直接当整数比较就行。 if(sa==sA){ //相等 }else{ //不相等 }
先将a赋值给一个单字节变量 char ch = 'a'; 然后,将ch这个变量转换成整型在赋值给一个变量 int n = (int)ch; 输出变量n System.out.println(n);
int ascii = (int) c;
就得到了,简单点比如: System.out.println((int) 'a');不过,在Java里面,A与a本来就是不一样的,为啥你还要特殊区分?
所以我想区分它们,让他们都可以插入数据库,比如怎么区分AB和ab
在Unicode编码中,ASCII编码能表示的字符,Unicode编码也能表示,并且,码值相同。
也就是说,ASCII编码用一个字节表示,Unicode用四个字节表示,它们都可以表示成整数。
当我们使用ASCII编码范围内的字符时,该字符的ASCII编码对应的整数值,与Unicode编码的整数值,是相同的。字符编码,其实可以简单理解为,就是建立一个,字符与数值的对应关系。char sa = 'a';
int va = 'a';
char sA = 'A';
int vA = 'A';上述四条语句,sa转换成整数与va相同,sA转换成整数与vA相同;va与vA不同。
字符'a'的ASCII码值与va相同,字符'A'的ASCII码值与vA相同。单字符而言,直接当整数比较就行。
if(sa==sA){
//相等
}else{
//不相等
}
然后,将ch这个变量转换成整型在赋值给一个变量 int n = (int)ch;
输出变量n System.out.println(n);