此代码来源于网络,贴在这里是为了自己能快速的找到加以使用,而且公司有网站屏蔽,对此网站没有屏蔽,所以有很多代码都是在家里找到然后传到此网站,以备工作使用.
java
中
全角
和
半角
之间的相
互转
化[转]
2007-06-25 22:04
public class Test {
public static void main(String[] args) {
String QJstr = "hello";
String QJstr1 = "hehe";
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);
}
分享到:
相关推荐
一款高性能敏感词(非法词/脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。 ToolGood.Words 一款高性能非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取...
工具好词一个简单的高级非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母,拼音模糊搜索等功能。 C#语言,使用StringSearchEx2.Replace过滤,在48k敏感词库上的过滤...
Java 的16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选7 彩票程序 获取GMT8 时间 中文乱码转换 Big5 字与Unicode 的...
sensitive-word 基于 DFA 算法实现的高性能敏感词工具。工具使用 java 实现,帮助我们解决常见的问题。6W+ 词库,且不断优化更新 基于 DFA 算法,性能较好 ...支持全角半角互换 支持英文大小写互换
全角半角随意互换将全角标点及英文字母转换成半角,或将半角标点及英文字母转换成全角。 修正标点符号将许多连续的句点转换成省略号,将文中的句点转换称句号,修正不对称的引号。 一键排版&拷贝即排版选中一键排版...
全角半角随意互换将全角标点及英文字母转换成半角,或将半角标点及英文字母转换成全角。修正标点符号将许多连续的句点转换成省略号,将文中的句点转换称句号,修正不对称的引号。一键排版&拷贝即排版选中一键排版后...
用半角的特殊符号代替全角的特殊符号,数组和数组之间的转换代码,从资源文件里读取值的类,一个随机类,计算传入值是否星期六,为RootPaneContainer组件添加键盘事件,将数组转成字符串 在调试或记录日志时用到,...
│ │ 4.2.2 排序规则在全角与半角处理中的应用.sql │ │ │ └─其他 │ 生成GB2312汉字表.sql │ 生成GBK汉字表.sql │ 自动获取汉字笔画.sql │ ├─第05章 │ │ 5.1.1 SET IDENTITY_INSERT 中的几个问题.sql...
非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角与半角处理中的应用.sql │...
155 将半角字符转换为全角字符 313 156 计算混合字符串之中汉字的个数 314 157 将单词的首字母转换为大写 315 158 将所有单词转换为小写形式 317 159 将英文句子的首字母转换为大写其余小写的形式 318 ...
易语言辅助模块 .子程序 _等待, , 公开 .参数 毫秒, 整数型, , 单位/毫秒 1000毫秒=1秒 .... .................................................................................... .... .... ........ .... .... .... .... .... .... .... .... .... ........ .... .... .... ........ .... .... .... ........ .... .... .... .... .... .... .... .... .... ........ .... .... ....