투케이2K

339. (java/자바) [유틸 파일] getFormByteArray : 사용자가 지정한 형식에 맞게 문자열 바이트 값 반환 - getBytes 본문

Java

339. (java/자바) [유틸 파일] getFormByteArray : 사용자가 지정한 형식에 맞게 문자열 바이트 값 반환 - getBytes

투케이2K 2023. 8. 10. 07:42

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] getFormByteArray : 사용자가 지정한 형식에 맞게 문자열 바이트 값 반환
    // -----------------------------------------------------------------------------------------
    public static byte[] getFormByteArray(String form, String data) {

        /**
         * // -----------------------------------------
         * [getFormByteArray 메소드 설명]
         * // -----------------------------------------
         * 1. getFormByteArray : 사용자가 지정한 형식에 맞게 문자열 바이트 값 반환
         * // -----------------------------------------
         * 2. 호출 방법 :
         *
         * C_Encryption.getFormByteArray("UTF-16LE", "hello");
         *
         * C_Encryption.getFormByteArray("UTF-16LE", "투케이");
         * // -----------------------------------------
         * 3. 리턴 데이터 : byte array
         * // -----------------------------------------
         * 4. 참고 형식 지정 타입 :
         *
         * MS949 : 한글 2바이트로 인식 / 아스키 문자는 1바이트 / 한글 확장 완성형
         * UTF-8 : 유니코드를 위한 가변 길이 문자 인코딩 방식 / 초성, 중성, 종성을 각각 1바이트로 인식 / 한글을 3바이트로 인식 / 공백이나 영문은 1바이트로 인식
         * UTF-16LE : 한글 2바이트로 인식 / 문자당 2byte / 유니코드 표현
         * EUC-KR : 한글 2바이트로 인식 / 아스키 문자는 1바이트 / 아시아계 문자를 표현 / 한글 완성형
         * ISO-8859-1 : 아스키 문자는 1바이트 / 서유럽 언어 표기
         * // -----------------------------------------
         * */


        // [변수 선언 실시]
        byte returnData[] = null;
        int byteLen = -1;
        String m_log = "";
        boolean errorFlag = false;


        // [로직 처리 실시]
        try {

            // [1]. 인풋 값 널 체크 수행
            if (C_Util.stringNotNull(form) == false || C_Util.stringNotNull(data) == false){
                m_log = "[ERROR] : Input Data Is Null";
                errorFlag = true;
            }


            // [2]. 리턴 변수에 삽입
            if (errorFlag == false){

                returnData = data.getBytes(String.valueOf(form));
                byteLen = returnData.length;
                m_log = "[SUCCESS] : Byte Return";

            }

        }
        catch (Exception e) {
            S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e);

            m_log = "[Exception] : " + String.valueOf(e.getMessage());
            errorFlag = true;
        }


        // [로그 출력]
        //*
        // ===============================================================
        S_Log._D_("사용자가 지정한 형식에 맞게 문자열 바이트 값 반환", new String[]{
                "INPUT [TYPE] :: " + String.valueOf(form),
                "INPUT [DATA] :: " + String.valueOf(data),
                "M_LOG :: " + String.valueOf(m_log),
                "BYTE LENGTH :: " + String.valueOf(byteLen),
                "RETURN [BYTE] :: " + String.valueOf(Arrays.toString(returnData))
        });
        // ===============================================================
        // */


        // [리턴 데이터 반환 실시]
        return returnData;
    }

 


 

반응형
Comments