package com.test;
public class test {
public static void main(String[] args) {
String QJstr = "hello";
String QJstr1 = "he,。h‘“”e";
String result = BQchange(QJstr);
String result1 = QBchange(QJstr1);
System.out.println(QJstr + "\n" + result);
System.out.println(QJstr1 + "\n" + result1);
}
//半角转全角
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;
}
//全角转半角
public static final String QBchange(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] = 0;
try {
outStr = outStr + new String(b, "unicode");
} catch (java.io.UnsupportedEncodingException e) {
e.printStackTrace();
}
} else
outStr = outStr + Tstr;
}
return outStr;
}
/**/// /
/// 转全角的函数(SBC case)
///
/// 任意字符串
///全角字符串
///
///全角空格为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);
}
/**/// /
/// 转半角的函数(DBC case)
///
/// 任意字符串
///半角字符串
///
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
///
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);
}
}
本文出自:http://goby2008.iteye.com/blog/413249
分享到:
相关推荐
java 全角半角转换 对角对全角的转换
java全角半角转换程序,用到了就不用自己再动手写啦。
可以实现字符串的全角到半角及半角到全角的转换,还是挺方便的,不对空格以及ascii表中其他可见字符之外的字符做任何处理,可以运行
全角转半角,半角转全角,全角半角字符串转换工具类Character.java
解决任何情况下的全角、半角字符转化问题,有效的控制程序中出现全角半角问题。方法简单,易懂。
主要介绍了java 全角半角字符转换的方法,大家参考使用吧
在java中可能会用到过全角半角字符转换问题,于是网上搜索整理了一下,晒出来和大家分享,希望可以帮助你们
对全角半角字符串的处理,对全角半角字符串的处理,对全角半角字符串的处理
JAVA的全角和半角的转换代码 、JAVA全角和半角的转换代码
字符串,标点符号全角半角之间的相互转换。非常实用
将日语全角转为半角
全角:指一个字符占用两个标准字符位置,而半角:指一字符占用一个标准的字符位置,在日常开发中经常会遇到全角半角转换的要求,下面这篇文章主要给大家介绍了关于java中字符进行全角半角转换的相关资料,文中通过...
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = ...
全角数字转换半角数字工具 v1.0版 使用指南 1.将带有全角数字的新闻(Ctrl+C)复制,在(Ctrl+V)粘贴到上面文本框内。 2.点击替换按钮,程序会自动转换成半角数字,拷贝到下面文本框内。 3.使用滚动条...
split函数按照空格拆分,兼容全角空格、半角空格
本文实例讲述了javascript实现全角半角检测的方法。分享给大家供大家参考。具体如下: //全角半角校验 function issbccase(strTmp) { for (var i=0; i<strTmp> 128){ return true; break; } } return false; ...
一款高性能非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母等功能
主要介绍了
Java输入法中全角转半角工具类: 适用于文件上传,Excel上传输入法格式不对导致的数据不对,通通过滤掉