package com.conant.ums.util;
import java.io.UnsupportedEncodingException;
/**
* <p>
* ����ID��BytesConverter.java<br> ���������ں����ֽ���ת���ġ�<br> ����String asc2gb(String asc)��ASCII����ַ�����ת��Ϊgb2312�ĺ����ַ�����<br>
* ����String gb2asc(String gb)��gb2312�ĺ����ַ�����ת��ΪASCII����ַ�����<br> ʹ�÷�����<br> gbStr = BytesConverter.asc2gb(ascStr);<br>
* ascStr = BytesConverter.asc2gb(gbStr);<br></p>
*/
public class BytesConverter {
private String ConvertInDbFrom = null;
private String ConvertInDbTo = null;
private String ConvertOutDbFrom = null;
private String ConvertOutDbTo = null;
public BytesConverter() {
this.ConvertInDbFrom = null;
this.ConvertInDbTo = null;
this.ConvertOutDbFrom = null;
this.ConvertOutDbTo = null;
}
public BytesConverter(
String ConvertInDbFrom,
String ConvertInDbTo,
String ConvertOutDbFrom,
String ConvertOutDbTo
) {
this.ConvertInDbFrom = ConvertInDbFrom;
this.ConvertInDbTo = ConvertInDbTo;
this.ConvertOutDbFrom = ConvertOutDbFrom;
this.ConvertOutDbTo = ConvertOutDbTo;
}
/**
*��ASCII����ַ�����ת��Ϊgb2312�ĺ����ַ�����
*@param asc��һ��ascii�ַ�������
*@return gb2312����ĺ����ַ�����
*/
public static String asc2gb(String asc) {
String ret;
if (asc == null) {
return asc;
}
try {
ret = new String(asc.getBytes("ISO8859_1"), "GB2312");
}
catch (UnsupportedEncodingException e) {
ret = asc;
}
return ret;
}
/**
*��gb2312�ĺ����ַ�����ת��ΪASCII����ַ�����
*@param gb��һ�������ַ�������
*@return ASCII������ַ�����
*/
public static String gb2asc(String gb) {
String ret;
if (gb == null) {
return gb;
}
try {
ret = new String(gb.getBytes("GB2312"), "ISO8859_1");
}
catch (UnsupportedEncodingException e) {
ret = gb;
}
return ret;
}
/**
*���ֽ��ַ�����ת��Ϊinteger���ַ�����
*@param b��һ���ֽ��ַ�������
*@return integer���ַ�����
*/
public static int byte2int(byte b) {
return ( ( -1) >>> 24) & b;
}
public String convertInDb(String strIn) {
return (convert(strIn, this.ConvertInDbFrom, this.ConvertInDbTo));
}
public String convertOutDb(String strIn) {
return (convert(strIn, this.ConvertOutDbFrom, this.ConvertOutDbTo));
}
public static String convert(String strIn, String cvtFrom, String cvtTo) {
String strRt = null;
Log.debug("strIn =" + strIn + ";cvtFrom =" + cvtFrom + ";cvtTo =" +
cvtTo);
if (strIn == null) {
return null;
}
if (cvtFrom == null) {
strRt = convert(strIn, cvtTo);
}
else if (cvtTo == null || cvtFrom.equalsIgnoreCase(cvtTo)) {
strRt = strIn;
}
else {
try {
strRt = new String(strIn.getBytes(cvtFrom), cvtTo);
}
catch (UnsupportedEncodingException e) {
strRt = strIn;
}
}
return strRt;
}
public static String convert(String strIn, String cvtTo) {
String strRt = null;
if (strIn == null) {
return null;
}
if (cvtTo == null) {
strRt = strIn;
}
else {
try {
strRt = new String(strIn.getBytes(), cvtTo);
}
catch (UnsupportedEncodingException e) {
strRt = strIn;
}
}
return strRt;
}
}