当前位置: 移动技术网 > IT编程>开发语言>Java > java中字符进行全角半角转换示例代码

java中字符进行全角半角转换示例代码

2019年07月19日  | 移动技术网IT编程  | 我要评论
前言 本文将给大家展示一下如何将char进行半角与全角转换,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 术语 全角 sbc

前言

本文将给大家展示一下如何将char进行半角与全角转换,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

术语

全角

  • sbc case
  • sexagesimal to binary converter
  • 60进制转为2进制

半角

  • dbc case
  • decimal to binary converter
  • 10进制转为2进制

工具类

public class asciiutil {

 public static final char sbc_space = 12288; // 全角空格 12288

 public static final char dbc_space = 32; //半角空格 32

 // ascii character 33-126 <-> unicode 65281-65374
 public static final char ascii_start = 33;

 public static final char ascii_end = 126;

 public static final char unicode_start = 65281;

 public static final char unicode_end = 65374;

 public static final char dbc_sbc_step = 65248; // 全角半角转换间隔

 public static char sbc2dbc(char src){
  if (src == sbc_space) {
   return dbc_space;
  }

  if (src >= unicode_start && src <= unicode_end) {
   return (char) (src - dbc_sbc_step);
  }

  return src;
 }

 /**
  * convert from sbc case to dbc case
  *
  * @param src
  * @return dbc case
  */
 public static string sbc2dbccase(string src) {
  if (src == null) {
   return null;
  }
  char[] c = src.tochararray();
  for (int i = 0; i < c.length; i++) {
   c[i] = sbc2dbc(c[i]);
  }
  return new string(c);
 }

 public static char dbc2sbc(char src){
  if (src == dbc_space) {
   return sbc_space;
  }
  if (src <= ascii_end) {
   return (char) (src + dbc_sbc_step);
  }
  return src;
 }

 /**
  * convert from dbc case to sbc case.
  *
  * @param src
  * @return sbc case string
  */
 public static string dbc2sbccase(string src) {
  if (src == null) {
   return null;
  }

  char[] c = src.tochararray();
  for (int i = 0; i < c.length; i++) {
   c[i] = dbc2sbc(c[i]);
  }

  return new string(c);
 }
}

验证

@test
 public void testdbc(){
  system.out.println(asciiutil.sbc2dbccase("hello world"));
  system.out.println(asciiutil.dbc2sbccase("hello world"));
 }

输出

hello world
hello world

doc

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对移动技术网的支持。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网