Notice
Recent Posts
Recent Comments
Link
투케이2K
356. (java/자바) [유틸 파일] getByteToString : Byte 바이트 배열 불필요 공간 제거 및 String 문자열 반환 본문
Java
356. (java/자바) [유틸 파일] getByteToString : Byte 바이트 배열 불필요 공간 제거 및 String 문자열 반환
투케이2K 2024. 11. 15. 18:28[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java
- 개발 툴 : AndroidStudio
- 구분 : 유틸 파일
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getByteToString : Byte 바이트 배열 불필요 공간 제거 및 String 문자열 반환
// -----------------------------------------------------------------------------------------
public static String getByteToString(byte[] bytes){
/**
* // -----------------------------------------
* [stringRangeLength 메소드 설명]
* // -----------------------------------------
* 1. Byte 바이트 배열 불필요 공간 제거 및 String 문자열 반환
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_Util.getByteToString(byteArray);
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* String 문자열 데이터
*
* AS-IS : {"reg_name":"TWOK"}���
* TO-BE : {"reg_name":"TWOK"}
* // -----------------------------------------
* */
// [리턴 변수 선언]
String returnData = "";
String M_LOG = "";
// [로직 처리 실시]
try {
// TODO [인풋 데이터 널 체크]
if (bytes != null && bytes.length > 0){
// [바이트 배열 뒤부터 순회하면서 0이 아닌 값이 나올 때 까지 찾음]
int endIdx = -1;
for (int i=bytes.length-1; 0<=i; i--){
if (bytes[i] != 0){
endIdx = i;
break;
}
}
if (endIdx >= 0){
byte[] subBuffer = new byte[endIdx+1];
System.arraycopy(bytes, 0, subBuffer,0, endIdx+1);
returnData = new String(subBuffer, "UTF-8"); // TODO [UTF-8 형식]
M_LOG = "Success :: Byte To String";
}
else {
M_LOG = "Error :: endIdx Search Error";
}
}
else {
M_LOG = "Error :: Input Data Validation Check Error";
}
}
catch (Exception e){
S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e);
M_LOG = "Exception :: " + String.valueOf(e.getMessage());
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._D_("Byte 바이트 배열 불필요 공간 제거 및 String 문자열 반환", new String[]{
"M_LOG :: " + String.valueOf(M_LOG),
"RETURN :: " + String.valueOf(returnData)
});
// ===============================================================
// */
// [리턴 반환 실시]
return returnData;
}
// --------------------------------------------------------------------------------------
반응형
'Java' 카테고리의 다른 글
Comments