首页>>程序代码>>Java程序实现输入法全角半角之间转换
Java程序实现输入法全角半角之间转换
来源: 时间: 2015-03-03 18:09:40

public static void main(String[] args) throws UnsupportedEncodingException {

// 全角转半角

String QJstr = "MTG项目";

String result = full2HalfChange(QJstr);

System.out.println(QJstr);

System.out.println(result);

System.out.println("------------------------------------");

// 半角转全角

String str = "java 汽车 召回 2345";

System.out.println(str);

System.out.println(half2Fullchange(str));

}

// 全角转半角的 转换函数

public static final String full2HalfChange(String QJstr)

throws UnsupportedEncodingException {

StringBuffer outStrBuf = new StringBuffer("");

String Tstr = "";

byte[] b = null;

for (int i = 0; i < QJstr.length(); i++) {

Tstr = QJstr.substring(i, i + 1);

// 全角空格转换成半角空格

if (Tstr.equals(" ")) {

outStrBuf.append(" ");

continue;

}

b = Tstr.getBytes("unicode");

// 得到 unicode 字节数据

if (b[2] == -1) {

// 表示全角?

b[3] = (byte) (b[3] + 32);

b[2] = 0;

outStrBuf.append(new String(b, "unicode"));

} else {

outStrBuf.append(Tstr);

}

} // end for.

return outStrBuf.toString();

}

// 半角转全角

public static final String half2Fullchange(String QJstr)

throws UnsupportedEncodingException {

StringBuffer outStrBuf = new StringBuffer("");

String Tstr = "";

byte[] b = null;

for (int i = 0; i < QJstr.length(); i++) {

Tstr = QJstr.substring(i, i + 1);

if (Tstr.equals(" ")) {

// 半角空格

outStrBuf.append(Tstr);

continue;

}

b = Tstr.getBytes("unicode");

if (b[2] == 0) {

// 半角?

b[3] = (byte) (b[3] - 32);

b[2] = -1;

outStrBuf.append(new String(b, "unicode"));

} else {

outStrBuf.append(Tstr);

}

}

return outStrBuf.toString();

}

/**

* 字符串处理

* @param str

* @return

*/

public static final String change(String str) {

String rst = "";

try {

if (str != null && !str.equals("")) {

rst = full2HalfChange(str).trim().replace("▲", "")

.replace("★", "").replace("<", "").replace(">", "")

.replace("■", "").replace("\t", "").replace("\r\n", "")

.replace("\n", "").replace("\r", "");

}

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return rst;

}

本页地址:http://www.easytd.com/chengxudaima/d_15030318750.html

网友评论留言

验证码 换一张
上一篇:PHP导出列表内容为Excel表格的简单实现 下一篇:Java反射调用私有方法进行数据传递