투케이2K

166. (javascript/자바스크립트) encodeURIComponent , decodeURIComponent 사용해 한글 및 특수문자 URL 인코딩 , 디코딩 수행 본문

JavaScript

166. (javascript/자바스크립트) encodeURIComponent , decodeURIComponent 사용해 한글 및 특수문자 URL 인코딩 , 디코딩 수행

투케이2K 2022. 6. 14. 08:12

[개발 환경 설정]

개발 툴 : Edit++

개발 언어 : javascript

 

[소스 코드]

    <!-- [내부 자바스크립트 J쿼리 이벤트 지정] -->    
    <script>


        // [dom 생성 및 이벤트 상시 대기 실시]
        document.addEventListener("DOMContentLoaded", ready);
        function ready(){
            console.log("");
            console.log("[window ready] : [start]");            
            console.log("");
        };





        // [html 최초 로드 및 이벤트 상시 대기 실시]
        window.onload = function() {
            console.log("");
            console.log("[window onload] : [start]");
            console.log("");  

            // [URL 인코딩 수행]
            C_Util_urlEncodeString( "투케이,29,man,@" );

            // [URL 디코딩 수행]
            C_Util_urlDecodeString( "%ED%88%AC%EC%BC%80%EC%9D%B4%2C29%2Cman%2C%40" );
        };





        // [C_Util_urlEncodeString 메소드 정의]
        function C_Util_urlEncodeString(strData){

            /**
             * // -----------------------------------------
             * [C_Util_urlEncodeString 메소드 설명]
             * // -----------------------------------------
             * 설 명 : url 인코딩 수행 실시
             * // -----------------------------------------
             * INPUT : C_Util_urlEncodeString( "투케이,29,man,@" );
             * // -----------------------------------------
             * RETURN : %ED%88%AC%EC%BC%80%EC%9D%B4%2C29%2Cman
             * // -----------------------------------------
             * */


            // [리턴 변수 선언 실시]
            var returnData = "";


            // [로직 수행 실시]
            try {

                if (strData != null 
                    && String(typeof strData).toLowerCase().trim() != "undefined" 
                    && String(typeof strData).toLowerCase().trim() == "string"
                    && JSON.stringify(strData) != "null"
                    && strData != "null" 
                    && strData != ""){

                        // [리턴 변수에 삽입 실시]
                        returnData = encodeURIComponent(strData);
                }

            }
            catch (exception) {
                console.error("[C_Util_urlEncodeString] : [EXCEPTION] : " + exception.message); 
            }

            
            ///* [로그 출력 실시]
            console.log("");
            console.log("=========================================");
            console.log("[C_Util_urlEncodeString] : [START]");
            console.log("[TYPE] : " + String(typeof strData).toLowerCase().trim());
            console.log("[INPUT] : " + strData);
            console.log("[RETURN] : " + returnData);
            console.log("=========================================");
            console.log("");
            // */


            // [리턴 결과 반환]
            return returnData;     
        };










        // [C_Util_urlDecodeString 메소드 정의]
        function C_Util_urlDecodeString(strData){

            /**
             * // -----------------------------------------
             * [C_Util_urlDecodeString 메소드 설명]
             * // -----------------------------------------
             * 설 명 : url 디코딩 수행 실시
             * // -----------------------------------------
             * INPUT : C_Util_urlDecodeString( "%ED%88%AC%EC%BC%80%EC%9D%B4%2C29%2Cman%2C%40" );
             * // -----------------------------------------
             * RETURN : 투케이,29,man,@
             * // -----------------------------------------
             * */


            // [리턴 변수 선언 실시]
            var returnData = "";


            // [로직 수행 실시]
            try {

                if (strData != null 
                    && String(typeof strData).toLowerCase().trim() != "undefined" 
                    && String(typeof strData).toLowerCase().trim() == "string"
                    && JSON.stringify(strData) != "null"
                    && strData != "null" 
                    && strData != ""){

                        // [리턴 변수에 삽입 실시]
                        returnData = decodeURIComponent(strData);
                }

            }
            catch (exception) {
                console.error("[C_Util_urlDecodeString] : [EXCEPTION] : " + exception.message); 
            }

            
            ///* [로그 출력 실시]
            console.log("");
            console.log("=========================================");
            console.log("[C_Util_urlDecodeString] : [START]");
            console.log("[TYPE] : " + String(typeof strData).toLowerCase().trim());
            console.log("[INPUT] : " + strData);
            console.log("[RETURN] : " + returnData);
            console.log("=========================================");
            console.log("");
            // */


            // [리턴 결과 반환]
            return returnData;     
        };

    </script>
 

[결과 출력]

 

 

반응형
Comments