字符串全半角互转

最后更新于:2022-04-01 20:24:48

~~~
/**
 * 
*
功能说明
* 字符串全半角互转 *
* @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); // } // 半角转全角 /** * 功能说明 * 半角汉字转全角汉字 * @param QJstr 半角 * @return 全角字符串 *

* 例如:
* 使用例子说明 * String a = BQchange("赞同") *

*/ 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; } /** * 功能说明 * 全角转半角 * @param input 全角字符串 * @return *

* 例如:
* 使用例子说明 * String a = ToDBC("re") *

*/ 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); } } ~~~
';