今天项目中遇到一个二字节空白的问题,让人十分头疼,研究了半天才知道是全角空格,现将一点心得分享(有抄袭的部分),嘿嘿
package com.eg.demo;
/**
* 半角全角转换及替换半角全角空白
* @author maochangming
*/
public class Test {
public static void main(String[] args) throws Exception {
try {
//去首尾空格,不管是全角半角:
String s = "nihaohk nihehe ";
System.out.println("s.length=" + s.length());
// s = s.replaceAll("^\\s*|\\s*$", "");
s = s.replaceAll("(^[ | ]*|[ | ]*$)", "");
s = s.replaceAll(" ", "");
System.out.println("s.length=" + s.length());
System.out.println("s===" + s);
String QJstr = "HELLO";
String QJstr1 = "HELLO";
String result = BQchange(QJstr);
String result1 = QBchange(QJstr1);
System.out.println(QJstr + "\n" + result);
System.out.println(QJstr1 + "\n" + result1);
} catch (Exception ex) {
throw new Exception("ERROR:" + ex.getMessage());
}
}
/**
* 半角转全角
* @param QJstr
* @return
*/
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;
}
/**
* 全角转半角
* @param QJstr
* @return
*/
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;
}
}
分享到:
- 2007-11-03 20:06
- 浏览 8638
- 评论(3)
- 论坛回复 / 浏览 (2 / 10768)
- 查看更多
相关推荐
java 全角半角转换 对角对全角的转换
C++全角半角字符转换
"日文全角半角转化" 日文全角半角转换是指将日文中的全角字符转换为半角字符或将半角...在 Java 中,我们可以使用多种方法来实现日文全角半角转换,包括使用 Unicode 代码点、Java 字符串处理函数和 third-party 库。
在Java编程中,字符串的全角半角转换是一项常见的需求,尤其在处理用户输入或文本显示时。全角字符和半角字符的区别在于他们的宽度和编码方式。全角字符(全宽度字符)通常用于东亚语言,如中文、日文、韩文等,每个...
了解了全半角字符之间的关系后,我们可以使用 Java 语言来实现全角半角之间的转换。下面是一个简单的示例代码: ```java private static String fullWidth2halfWidth(String fullWidthStr) { if (null == ...
### Java全角半角转换程序知识点详解 #### 核心概念 在计算机处理文本时,全角字符和半角字符是常见的编码问题。全角字符主要用于东亚语言(如中文、日语、韩语等),其宽度通常是半角字符的两倍。在ASCII码中,...
本篇文章将详细介绍如何在Java中实现全角半角字符的转换。 首先,我们需要了解全角和半角字符的对应关系。全角字符的范围是从65281(全角"!")到65374(全角"~"),它们相对于ASCII表中的对应半角字符(从33到126...
解决任何情况下的全角、半角字符转化问题,有效的控制程序中出现全角半角问题。方法简单,易懂。
综上所述,全角半角转换函数在文本处理领域具有重要的实用价值,尤其在东亚语言环境中,对于确保文本正确显示、计算和对齐具有不可或缺的作用。通过对上述函数的理解和应用,可以有效提升软件产品的国际化水平和用户...
JAVA的全角和半角的转换代码 、JAVA全角和半角的转换代码
全角转半角,半角转全角,全角半角字符串转换工具类Character.java
根据提供的文件信息,本文将详细解释“全角半角转换”的相关知识点,特别是如何使用C#语言实现这两种转换方法。 ### 全角与半角的基本概念 在计算机文本处理领域,“全角”与“半角”是两种不同的字符宽度设置。...
本文将详细介绍如何使用Java中的`split()`方法,并结合正则表达式来处理全角空格和半角空格的问题。 #### 一、背景介绍 在处理文本数据时,经常会遇到不同类型的空格字符。除了最常见的半角空格(ASCII码为32)...
在处理中英文混合或者需要统一格式的文本时,全角半角数字的转换就显得尤为重要。 全角数字在全角状态下显示,0到9的数字分别对应的Unicode值为65296到65305,而半角数字对应的ASCII值则是48到57。转换程序的核心就...
### 全角半角转换的原理 全角字符与半角字符之间的转换主要是基于字符编码的不同。对于英文字母、数字以及部分符号,全角字符的Unicode编码位于U+FF01至U+FF5E区间内,比其对应的半角字符的Unicode编码高0xFEE0。...
全角半角转换工具是一款可以批量将全角转换成半角,或批量将半角转换为全角的软件。全角半角转换工具支持文件导入、导出。 使用方法 1.将带有全角数字的新闻(Ctrl C)复制,在(Ctrl V)粘贴到上面文本框内。 2....
全角 半角 转换器 C C++ 无需安装 小巧易用
通过以上示例代码可以看出,全角半角字符的转换在实践中具有一定的实用价值,尤其是在处理包含多种字符类型的文本时。理解并掌握这一转换方法有助于开发者更好地处理各种语言环境下的文本数据。
下面将详细介绍如何在C#中进行全角半角的相互转换。 1. 全角字符转半角字符: 在C#中,我们可以利用Unicode编码来实现这一转换。全角字符的Unicode范围通常在0xFF01-0xFF5E之间,对应的半角字符是减去0x20。以下是...
在IT领域,特别是编程与文本处理中,全角与半角字符的转换是一个常见的需求,尤其是在东亚语言环境中,如中文、日文、韩文中。全角(Full Width)与半角(Half Width)字符的区别主要在于宽度和编码上。半角字符通常...