투케이2K

1031. (Android/Java) [유틸 파일] unescapeString : 수동 이스케이프 문자 원복 수행 본문

Android

1031. (Android/Java) [유틸 파일] unescapeString : 수동 이스케이프 문자 원복 수행

투케이2K 2025. 9. 23. 20:57
728x90

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin


- 개발 툴 : AndroidStudio


- 기술 구분 : 투케이 / 유틸 파일 / Function

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

// -----------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] unescapeString : 수동 이스케이프 문자 원복 수행
// -----------------------------------------------------
public static String unescapeString(String inputString) {

    /**
      * // -----------------------------------------
      * [unescapeString 메소드 설명]
      * // -----------------------------------------
      * 1. 수동 이스케이프 문자 원복 수행
      * // -----------------------------------------
      * 2. 호출 방식 :
      *
      * String jsonStr = "{\"name\":\"twok\",\"pw\":\"admin\\/\\/@123\"}";
      *
      * C_Util.unescapeString(jsonStr);
      * // -----------------------------------------
      * 3. 리턴 데이터 :
      *
      * {"name":"twok","pw":"admin//@123"}
      * // -----------------------------------------
      * */


    // [변수 선언 실시]
    String returnData = "";


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

        if (C_Util.stringNotNull(inputString) == true){

            returnData = inputString
                    .replaceAll("\\\\", "")          // \ → ""
                    .replaceAll("\\\\/", "/")        // \/ → /
                    .replaceAll("\\\\\"", "\"")      // \" → "
                    .replaceAll("\\\\b", "\b")       // \b → 백스페이스
                    .replaceAll("\\\\f", "\f")       // \f → 폼피드
                    .replaceAll("\\\\n", "\n")       // \n → 줄바꿈
                    .replaceAll("\\\\r", "\r")       // \r → 캐리지 리턴
                    .replaceAll("\\\\t", "\t")       // \t → 탭
                    .replaceAll("\\\\\\\\", "\\\\"); // \\ → \
        }
    }
    catch (Exception e) {
        S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);
    }


    // [로그 출력]
    S_Log._D_("수동 이스케이프 문자 원복 처리 수행", new String[]{
            "INPUT [inputString] :: " + String.valueOf(inputString),
            "RETURN :: " + String.valueOf(returnData)
    });


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

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[업무 이슈] 안드로이드 슬러시 (특수 문자) 포함 JSON 정보 전달 시 자동으로 이스케이프 문자 처리되어 WIFI 접속 문제 발생 이슈

https://blog.naver.com/kkh0977/224019151434?trackingCode=blog_bloghome_searchlist


[Mobile] <br> 태그 값 확인 및 이스케이프 줄바꿈 문자 적용 로직

https://blog.naver.com/kkh0977/223602884277?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments