java string 全角半角转换

阅读更多
/**
  * 全角空格为12288,半角空格为32 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  */
public static String ToSBC(String input) {
  // 半角转全角:
  char[] c = input.toCharArray();
  for (int i = 0; i < c.length; i++) {
   if (c[i] == 32) {
    c[i] = (char) 12288;
    continue;
   }
   if (c[i] < 127)
    c[i] = (char) (c[i] + 65248);
  }
  return new String(c);
}

/**
  * 全角转半角 create date:2009-2-12 author:Administrator
  *
  * @param input
  * @return
  */
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);
}

你可能感兴趣的:(java string 全角半角转换)