`
tenght
  • 浏览: 47711 次
社区版块
存档分类
最新评论

[java]字符串全半角互转

 
阅读更多


<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);
	}

}





分享到:
评论

相关推荐

    对全角半角字符串的处理

    对全角半角字符串的处理,对全角半角字符串的处理,对全角半角字符串的处理

    字符串的全角半角转换 java

    可以实现字符串的全角到半角及半角到全角的转换,还是挺方便的,不对空格以及ascii表中其他可见字符之外的字符做任何处理,可以运行

    全角半角字符串转换工具类Character.java

    全角转半角,半角转全角,全角半角字符串转换工具类Character.java

    字符串,标点符号全角半角转换

    字符串,标点符号全角半角之间的相互转换。非常实用

    java 全角半角字符转换如何实现

    在java中可能会用到过全角半角字符转换问题,于是网上搜索整理了一下,晒出来和大家分享,希望可以帮助你们

    前后台实现精确截取指定长度字符串(考虑全角半角)

    前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)

    Java进制/时间/日期/字符串/流算法大全

    Java 的16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选7 彩票程序 获取GMT8 时间 中文乱码转换 Big5 字与Unicode 的...

    Java开发常用的方法

    资源为Java源代码,内含系列常用静态方法,可以直接拿来使用,如:拼合一维数组为字符串;产生在start和end之间的num个随机整数,返回值存在HashMap中;获取当前时间,返回时间格式(如果调用参数为true时返回yyyy-MM...

    Java常用工具类(持续发布,第一部分:日期、字符串、JSON工具类等)

    包含了货币工具类(将数字货币转成大写)、日期工具类(日期格式化、日期相加减、日期差等)、半角和全角字符相互转换、JSON工具类(利用gson工具包)、字符串工具类(非空判断等)

    java 算法

    用半角的特殊符号代替全角的特殊符号,数组和数组之间的转换代码,从资源文件里读取值的类,一个随机类,计算传入值是否星期六,为RootPaneContainer组件添加键盘事件,将数组转成字符串 在调试或记录日志时用到,...

    hive函数大全(中文版)

    7. 字符串转大写函数:upper,ucase 24 8. 字符串转小写函数:lower,lcase 25 9. 去空格函数:trim 25 10. 左边去空格函数:ltrim 25 11. 右边去空格函数:rtrim 25 12. 正则表达式替换函数:regexp_replace 26 13. ...

    jQuery 限制输入字符串长度

    我们后台做程序的时候,比如录入一篇文章,文章会有摘要,我们希望文章的字符长度是我们可以控制的,我们不希望它太长,比如限制只能输入250个字符,下面的代码实现了这种功能。 先来看一下效果图 代码如下: &lt;...

    java jdk8 学习笔记

    2.动态加载类别文档、字符串池(String Pool)等特性为节省内存而设计 3.jdk java development kit java 开发工具集 java se 平台包括jdk与java语言 ,(不知道编程语言是什么?可以这样想 :java 语言 -&gt;类文件...

    Android开发人员不得不收集的代码

    字符串相关→StringUtils.java→Test 判断字符串是否为null或长度为0 isEmpty 判断字符串是否为null或全为空格 isSpace null转为长度为0的字符串 null2Length0 返回字符串长度 length 首字母大写 upperFirstLetter ...

    Java 高手编码规范(初)

     除字符串和注释内以外, 代码中的空格一律为半角。  代码中不应有[TAB]字符(除字符串内), 需要[TAB]字符的地方一律替换成4个空格。  代码中换行和DOS系统相同,为/r/n。  代码应该有缩进, 缩进为4个...

    word源码java-LineBreak:国内游戏对于中英文混杂的字符串在自动断行上不够完善,根据网上UnicodeLineBreak算法重新

    国内游戏对于中英文混杂的字符串在自动断行上不够完善,根据网上Unicode Line Break算法重新完善,支持中英文 数字 全角半角标点符号自动换行 ####Unicode Line Breaking Algorithm实现 #####算法背景: 由于公司内...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    javascript正则表达式标记中/g /i /m的用法,以及实例

    忽略大小写,注意仅是忽略大小写,并不忽略全半角。 3,/m (mutiple)表示多行匹配,多行查找什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号 m 影响 ^、$。 若不指定 m,则:^ 只在字符串的...

    javascript 复杂的嵌套环境中输出单引号和双引号

    引号的嵌套&lt;/a&gt; 单引号 ‘ 的 ASCII码是 39 双引号 ” 的 ASCII码是34,所以我们可以用&#xxx;的形式来代替具体的...使用的引号是单引号,alert里的字符串应该转义掉单引号。于是就有了 \'的形式。反之,就要转义掉 \

    editplus 代码编辑器html c++ jsp css

    (1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。 (2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在...

Global site tag (gtag.js) - Google Analytics