//根据字符对应10进制来转换。都在代码里写了注解。直接复制就可以运行。
/*
全半角转换
*/
// 算出全角和半角之差
char bj = 'A';
char qj = 'A';
System.out.println("16进制半角A: "+Integer.toHexString(bj)+" 全角A: "+Integer.toHexString(qj));
System.out.println("转成10进制半角A:"+Integer.parseInt(Integer.toHexString(bj),16));
System.out.println("转成10进制全角A:"+Integer.parseInt(Integer.toHexString(qj),16));
System.out.println("算出全角A和半角A的差值::"+(Integer.parseInt(Integer.toHexString(qj),16)-Integer.parseInt(Integer.toHexString(bj),16)));
//由此可以写出以下程序。
String quanjiao = "dfdfqredas_f13789:'.";
/*
全角转半角
*/
String line = "";
for (int i=0;i<quanjiao.length();i++){
char t = quanjiao.charAt(i);
if(t == ' '){//字符等于了全角空格
t = ' '; //转成半角空格
}else if(t > ' '){//字符大于了半角空格
t = (char)(t-65248);//转成半角
}
line+=t;
}
System.out.println(line);
// 半角转全角应该自己能写出来。反一下就行了我这里也写一下吧。
String bangjiao = "fafdsafdsa214232";
String line1 = "";
for (int i=0;i<quanjiao.length();i++){
char t = quanjiao.charAt(i);
if(t == ' '){//字符等于了半角空格
t = ' '; //转成全角空格
}else if(t < ' '){//字符小于了全角空格
t = (char)(t+65248);//转成全角
}
line1+=t;
}
System.out.println(line1);
大写转小写也可以这样推导。可以自己写一写。