xxxxxxxxxx
1
public class Test {
2
public static void main(String[] args) {
3
String QJstr = "hello";
4
String QJstr1 = "hehe";
5
6
String result = BQchange(QJstr);
7
String result1 = QBchange(QJstr1);
8
9
System.out.println(QJstr + "/n" + result);
10
System.out.println(QJstr1 + "/n" + result1);
11
}
12
13
// 半角转全角
14
public static final String BQchange(String QJstr) {
15
String outStr = "";
16
String Tstr = "";
17
byte[] b = null;
18
19
for (int i = 0; i < QJstr.length(); i++) {
20
try {
21
Tstr = QJstr.substring(i, i + 1);
22
b = Tstr.getBytes("unicode");
23
} catch (java.io.UnsupportedEncodingException e) {
24
e.printStackTrace();
25
}
26
if (b[3] != -1) {
27
b[2] = (byte) (b[2] - 32);
28
b[3] = -1;
29
try {
30
outStr = outStr + new String(b, "unicode");
31
} catch (java.io.UnsupportedEncodingException e) {
32
e.printStackTrace();
33
}
34
} else
35
outStr = outStr + Tstr;
36
}
37
return outStr;
38
}
39
40
// 全角转半角
41
public static final String QBchange(String QJstr) {
42
String outStr = "";
43
String Tstr = "";
44
byte[] b = null;
45
46
for (int i = 0; i < QJstr.length(); i++) {
47
try {
48
Tstr = QJstr.substring(i, i + 1);
49
b = Tstr.getBytes("unicode");
50
} catch (java.io.UnsupportedEncodingException e) {
51
e.printStackTrace();
52
}
53
if (b[3] == -1) {
54
b[2] = (byte) (b[2] + 32);
55
b[3] = 0;
56
try {
57
outStr = outStr + new String(b, "unicode");
58
} catch (java.io.UnsupportedEncodingException e) {
59
e.printStackTrace();
60
}
61
} else
62
outStr = outStr + Tstr;
63
}
64
return outStr;
65
}
66
}
public static void main(String[] args) {
String QJstr = "wch";
String QJstr1 = "hello";
String result = ToSBC(QJstr);
String result1 = ToDBC(QJstr1);
System.out.println(QJstr + "\n" + result);
System.out.println(QJstr1 + "\n" + result1);
}
网上转的一个半角全角互换的函数:
/**
* 半角转全角
* @param input String.
* @return 全角字符串.
*/
public static String ToSBC(String input) {
char c[] = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == ' ') {
c[i] = '\u3000';
} else if (c[i] < '\177') {
c[i] = (char) (c[i] + 65248);
}
}
return new String(c);
}
/**
* 全角转半角
* @param input String.
* @return 半角字符串
*/
public static String ToDBC(String input) {
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;
}