package com;
public class Change {
public static void main(String[] args) {
String QJstr = "hello!! 全角转换,DAO,8,9,115";
String result = toDBC(QJstr);
String result2 = toSBC(result);
System.out.println(QJstr + "/n" + result);
System.out.println(result + "/n" + result2);
}
/**
* 半角转全角
* @param input String.
* @return 全角字符串.
*/
public static String toSBC(String input) {
if(input==null){
return null;
}
char c[] = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == ' ') {
c[i] = '/u3000'; // 采用十六进制,相当于十进制的12288
} else if (c[i] < '/177') { // 采用八进制,相当于十进制的127
c[i] = (char) (c[i] + 65248);
}
}
return new String(c);
}
/**
* 全角转半角
* @param input String.
* @return 半角字符串
*/
public static String toDBC(String input) {
if(input==null){
return null;
}
char c[] = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == '/u3000') {
c[i] = ' ';
} else if (c[i] > '/uFF00' && c[i] < '/uFF5F') {
c[i] = (char) (c[i] - 65248);
}
}
String returnString = new String(c);
return returnString;
}
}