728x90
반응형
SMALL
public static String autoCharacterSet(byte[] byString) {
// 입력받은 문자열이 EUC-KR, UTF-8 인지 모르기 때문에 먼저 EUC-KR로 변환해본다.
CharsetDecoder decoder = Charset.forName("EUC-KR").newDecoder();
try {
CharBuffer r = decoder.decode(ByteBuffer.wrap(byString));
return r.toString();
}
// EUC-KR 변환이 실패하면 UTF-8로 시도한다.
catch (CharacterCodingException e1) {
decoder = Charset.forName("UTF-8").newDecoder();
try {
CharBuffer r = decoder.decode(ByteBuffer.wrap(byString));
return r.toString();
}
// UTF-8 변환이 실패하면
catch (CharacterCodingException e2) {
e2.printStackTrace();
}
}
return new String(byString);
}
사용법 (Controller)
String userName = request.getParameter("userName");
userName = autoCharacterSet(userName.getBytes());
BASE64로 인코딩 되어 있는 문자열이 넘어올 경우
String strBase64UserName = request.getParameter("userName");
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
String userName = autoCharacterSet(decoder.decodeBuffer(strBase64UserName));
728x90
반응형
LIST
'IT > JAVA' 카테고리의 다른 글
Java 엔디안 변경 (0) | 2014.05.20 |
---|---|
AES-256 암호화 시 주의 사항 (0) | 2014.04.30 |
Java 명명 규칙 (Naming Rule) (0) | 2013.12.21 |
Fetch Call 최소화 (0) | 2013.12.21 |
Java 성능 향상 팁 (0) | 2013.12.21 |