共0页 | 上一页 1 下一页
package com.publicFunc;
import java.io.UnsupportedEncodingException;
import java.util.regex.Pattern;
import sun.tools.tree.CharExpression;
public class TransCode {
/**
* 全角转半角 符号,数字,字母 高位为-1,低位全角比半角少32H。 将字母a-z,A-Z,0-9之外的符号转换成为半 *角。
*
* @param SBCString
* @return 半角 String
* @author Gyb
*/
public static String SBC2DBC(String SBCString) {
if(SBCString == null){
return null;
}
StringBuffer DBCString = new StringBuffer ("");
try {
byte[] bytes = null;
for (int i = 0; i < SBCString.length (); i++) {
String temp = SBCString.substring (i , i + 1);
boolean isContainLetters = Pattern.matches ("[0-9a-zA-Z]" , temp);
if (!isContainLetters) {
bytes = temp.getBytes ("unicode");
if (bytes[3] == -1) {
bytes[2] = (byte) (bytes[2] + 32);
bytes[3] = 0;
}
DBCString.append (new String (bytes , "unicode"));
}else{
DBCString.append (temp);
}
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace ();
}
return DBCString.toString ();
}
/**
* 半角转全角 半角的 符号,数字,字母 高位为0,低位半角比全角多32H。 将字母a-z,A-Z,0-9之外的符号转换成 *为全角,数据库存贮。
* @param DBCString
* @return 全角 String
*
* @author Gyb
*/
public static String DBC2SBC(String DBCString) {
if(DBCString == null){
return null;
}
StringBuffer SBCString = new StringBuffer ("");
try {
byte[] bytes = null;
for (int i = 0; i < DBCString.length (); i++) {
String temp = DBCString.substring (i , i + 1);
boolean isContainLetters = Pattern.matches ("[0-9a-zA-Z]" , temp);
if (!isContainLetters) {
bytes = temp.getBytes ("unicode");
if (bytes[3] == 0) {
bytes[2] = (byte) (bytes[2] - 32);
bytes[3] = -1;
}
SBCString.append (new String (bytes , "unicode"));
}else{
SBCString.append (temp);
}
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace ();
}
return SBCString.toString ();
}
}
共0页 | 上一页 1 下一页



关于java中半角与全角相互转换

咚哒哒
