2018년 2월 4일 일요일

Bytes가 String형식인지 Binary형식인지 여부 정규식을 이용한 간단체크

/**
 * 로깅 가능한 String 메시지로 변환한다.
 * 텍스트 형식으면 텍스트로, 바이너리라고 추정되면 hex 반환.
 * @param message
 * @return
 */
private String convertLogMessage(ByteBuffer message) {
String logMessage = null;
try {
logMessage = new String(ByteBuffer.wrap(message.array(), 0, message.limit()).array(),"UTF-8");
if(Pattern.compile("[^\\x20-\\x7e]").matcher(logMessage).find()) {
logMessage = Hex.encodeHexString(ByteBuffer.wrap(message.array(), 0, message.limit()).array());
}
}catch(Exception ignore){}
return logMessage;
}

댓글 없음:

댓글 쓰기

Creating CRC32 Hex string

public String getCRC32HexaString(String paramString) throws Exception  {   byte bytes[] = paramString.getBytes(DEFAULT_CHARSET);   Che...