`
乌托邦之爱
  • 浏览: 282653 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

java全角与半角字符互换

阅读更多

此代码来源于网络,贴在这里是为了自己能快速的找到加以使用,而且公司有网站屏蔽,对此网站没有屏蔽,所以有很多代码都是在家里找到然后传到此网站,以备工作使用.

 

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

分享到:
评论

相关推荐

    C#全角和半角互换

    本篇文章将详细探讨C#中全角和半角字符的概念、转换方法以及如何在实际编程中进行互换。 首先,我们要理解什么是全角和半角字符。全角字符通常在东亚语言环境中使用,如中文、日文、韩文等,它们占用两个字节的存储...

    一款高性能敏感词(非法词/脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。

    再者,支持全角半角互换是另一大亮点。在中文输入法中,全角字符和半角字符有时会被混淆,导致误解。全角字符主要用于中文环境,半角字符则常见于英文或其他拉丁字母文字。此功能使得组件能适应各种输入习惯,减少因...

    jquery插件

    通过这个jQuery插件,开发者可以轻松地在网页中实现全角和半角字符的互换,这对于处理中文输入的网页应用来说是一项实用的功能。了解并掌握这些知识点,对于提升JavaScript和jQuery的开发技能是非常有益的。

    一款高性能非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母等功能

    全角半角字符的互换功能则是考虑到了中文输入法的多样性和实际应用场景。全角字符通常用于正式文档,而半角字符常用于编程和命令行交互。组件的这一特性使得开发者无需手动调整,就能在处理各种文本时保持一致性,...

    asp将全角的字符转变成半角字符,将半角转变成全角d的代码

    在编程领域,尤其是在处理中文字符时,经常需要进行全角字符和半角字符之间的转换。...通过这个函数,可以方便地在ASP环境中实现全角字符和半角字符的互换,这对于处理包含中英文混合的字符串非常有用。

    一款高性能敏感词(非法词_脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能.zip

    3. **全角半角互换**:在中文环境中,全角字符(如全角数字、字母、标点)和半角字符(如英文标准字符)的使用是共存的。组件能识别并转换这两种形式的字符,增强了敏感词匹配的准确性,避免因字符形式不同而漏检。 ...

    前端开源库-moji

    在中文和日文中,全角字符通常用于正式文本和排版,而半角字符则常见于键盘输入或者编程中。例如,数字、字母以及一些标点符号在全角和半角状态下的宽度不同,这在布局和格式化文本时会有所影响。moji库提供了简单的...

    ToolGood.Words:一个完整​​的高级敏感词(非法词脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能

    工具好词一个简单的高级非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母,拼音模糊搜索等功能。 C#语言,使用StringSearchEx2.Replace过滤,在48k敏感词库上的过滤...

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

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

    andy-java敏感字符过滤.zip

    sensitive-word 基于 DFA 算法实现的高性能敏感词工具。工具使用 java 实现,帮助我们解决常见的问题。6W+ 词库,且不断优化更新 基于 DFA 算法,性能较好 ...支持全角半角互换 支持英文大小写互换

    排版助手.zip

    全角半角随意互换将全角标点及英文字母转换成半角,或将半角标点及英文字母转换成全角。 修正标点符号将许多连续的句点转换成省略号,将文中的句点转换称句号,修正不对称的引号。 一键排版&拷贝即排版选中一键排版...

    排版助手 v3.1.0.12

    全角半角随意互换将全角标点及英文字母转换成半角,或将半角标点及英文字母转换成全角。修正标点符号将许多连续的句点转换成省略号,将文中的句点转换称句号,修正不对称的引号。一键排版&拷贝即排版选中一键排版后...

    信息技术考试试题答案.doc

    3. **全角与半角状态切换**:在中文Windows 98中,按下Shift+空格键可以实现全角和半角字符状态的切换,因此选项A是正确的。全角状态下每个字符占用两个字节,半角状态下每个字符占用一个字节。 4. **基本键**:...

    asp.net实现简繁互换

    // 转换为半角字符 s = Strings.StrConv(s, VbStrConv.Narrow, 0); // 转换为简体 s = Strings.StrConv(s, VbStrConv.SimplifiedChinese, 0); // 输出转换后的字符串 System.Console.WriteLine(s); } } ```...

    计算机一级考试操作题部分重点.pdf

    2. **汉字录入题目**:重点在于理解全角和半角字符的区别。全角字符占用两个字节,包括汉字、部分特殊符号和日韩字符;而半角字符只占用一个字节,通常用于英文和数字。考生需注意在不同的输入环境下正确输入。 3. ...

    C#高性能敏感词检测过滤组件

    2. **全角半角互换**:在输入法使用过程中,全角字符和半角字符的混淆可能会导致漏检。该组件支持这种转换,确保了对各种形式的字符都能进行有效过滤。 3. **汉字转拼音**:对于未包含在敏感词库中的词汇,可以通过...

    oracle日常命令.docx

    - `TO_MULTI_BYTE()`、`TO_SINGLE_BYTE()`:全角和半角字符的转换。 - `NLS_CHARSET_ID()`、`NLS_CHARSET_NAME()`:字符集ID与名称的互换。 6. **聚组函数**: - `AVG()`:计算一组数的平均值。 - `SUM()`:...

Global site tag (gtag.js) - Google Analytics