<pre name="code" class="java"> /** * <DL> * <DT><B> 功能说明</B></DT> * 字符串全半角互转 * </DL> * @author hailan */ public class SBCChange { // public static void main(String[] args) { // // String QJstr = "全角转半角DAO喆4 "; // System.out.println(QJstr.length()+"=length"); // QJstr.replaceAll("[ ]", ""); // System.out.println(QJstr.length()+"=replacelengthr"); // String ToDBCres = ToDBC(QJstr); // System.out.println(QJstr + "\nDB" + ToDBCres); // // String QBres = BQchange(QJstr); // System.out.println(QJstr + "\nBQ" + QBres); // } // 半角转全角 /** * <b>功能说明</b> * 半角汉字转全角汉字 * @param QJstr 半角 * @return 全角字符串 * <p> * <b>例如:</b><br> * 使用例子说明 * String a = BQchange("赞同") * </p> */ public static final String BQchange(String QJstr) { String outStr = ""; String Tstr = ""; byte[] b = null; for (int i = 0; i < QJstr.length(); i++) { try { Tstr = QJstr.substring(i, i + 1); b = Tstr.getBytes("unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } if (b[3] != -1) { b[2] = (byte) (b[2] - 32); b[3] = -1; try { outStr = outStr + new String(b, "unicode"); } catch (java.io.UnsupportedEncodingException e) { e.printStackTrace(); } } else outStr = outStr + Tstr; } return outStr; } /** * <b>功能说明</b> * 全角转半角 * @param input 全角字符串 * @return * <p> * <b>例如:</b><br> * 使用例子说明 * String a = ToDBC("re") * </p> */ public static String ToDBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == 12288) { c[i] = (char) 32; continue; } if (c[i] > 65280 && c[i] < 65375) c[i] = (char) (c[i] - 65248); } return new String(c); } }
时间: 2024-10-28 16:22:47