public static String toFullChar(String src)
{
// 입력된 스트링이 null 이면 null 을 리턴
if (src == null)
return null;
// 변환된 문자들을 쌓아놓을 StringBuffer 를 마련한다
StringBuffer strBuf = new StringBuffer();
char c = 0;
int nSrcLength = src.length();
for (int i = 0; i < nSrcLength; i++)
{
c = src.charAt(i);
//영문이거나 특수 문자 일경우.
if (c >= 0x21 && c <= 0x7e)
{
c += 0xfee0;
}
//공백일경우
else if (c == 0x20)
{
c = 0x3000;
}
// 문자열 버퍼에 변환된 문자를 쌓는다
strBuf.append(c);
}
return strBuf.toString();
}
public static String toHalfChar(String src)
{
StringBuffer strBuf = new StringBuffer();
char c = 0;
int nSrcLength = src.length();
for (int i = 0; i < nSrcLength; i++)
{
c = src.charAt(i);
//영문이거나 특수 문자 일경우.
if (c >= '!' && c <= '~')
{
c -= 0xfee0;
}
else if (c == ' ')
{
c = 0x20;
}
// 문자열 버퍼에 변환된 문자를 쌓는다
strBuf.append(c);
}
return strBuf.toString();
}
반각문자열로 부터 전각 데이터를 얻을 떄:
byte[] data = str.getBytes("KSC5601");
전각배열로 부터 반각 데이터를 얻을 때:
String strHalf= toHalfChar(new String(binary,offset,length,"KSC5601"));
byte[] data = strHalf.getBytes("KSC5601");
반각문자열로 부터 전각 데이터를 얻을 떄:
String str = toFullChar("홍0A 길 ");
byte[] data = str.getBytes("KSC5601");
전각배열로 부터 반각 데이터를 얻을 때:
String strHalf= toHalfChar(new String(binary,offset,length,"KSC5601"));
byte[] data = strHalf.getBytes("KSC5601");
출처:
http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=qna2&c=r_p&n=1069148174&k=%EC%A0%84%EA%B0%81&d=tb#1069148174