투케이2K

373. (kotlin/코틀린) [유틸 파일] getFormByteToString : 사용자가 지정한 형식에 맞게 바이트 값을 문자열로 반환 본문

Kotlin

373. (kotlin/코틀린) [유틸 파일] getFormByteToString : 사용자가 지정한 형식에 맞게 바이트 값을 문자열로 반환

투케이2K 2023. 8. 10. 07:40
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getFormByteToString : 사용자가 지정한 형식에 맞게 바이트 값을 문자열로 반환
        // -----------------------------------------------------------------------------------------
        fun getFormByteToString(form: Charset, data: ByteArray): String {

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


            // [변수 선언 실시]
            var returnData = ""
            var m_log = ""
            var errorFlag = false


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

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


                // [2]. 리턴 변수에 삽입
                if (errorFlag == false) {
                    returnData = String(data, 0, data.size, form)
                    m_log = "[SUCCESS] : String Return"
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
                m_log = "[Exception] : " + e.message.toString()
                errorFlag = true
            }


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


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

 

반응형
Comments