안드로이드 개발 팁 #2 - HTML 이스케이핑 적용된 문자 풀어주기
관련 에피소드
API를 통해 서버로부터 받는 게시글의 내용의 일부에 특수문자들이 들어 있었습니다. 내용이 깨진 것은 아니었구요. HTML 이스케이핑이 적용된 일부 문자들이 언이스케이핑 되지 않고 API 응답으로 온 것입니다. 백엔드 팀에 API 수정을 요청할 수 있겠지만, 이 문제는 앱에서 언이스케이핑을 실행하는 것으로 해결이 됩니다. 이렇게 해서 서버의 부하를 줄일 수 있으면 그것도 나쁘지 않겠다고 판단했습니다.
이렇게 했는데도 문제가 반복된다면, 그 때에는 백엔드 팀에 수정 요청을 해야겠죠. 다행히 아직까지 문제는 발생하지 않았습니다.
HTML 이스케이핑 적용된 문자 풀어주기
- unbescape 라이브러리가 필요합니다. 모듈의 build.gradle 파일에서 이 라이브러리를 dependency에 추가합니다.
// https://mvnrepository.com/artifact/org.unbescape/unbescape
implementation 'org.unbescape:unbescape:1.1.6.RELEASE'
- HtmlEscape 클래스의 unescaptHtml(text) 메소드를 호출하면 됩니다.
val escapedString = "x < 10"
val unescapedString = HtmlEscape.unescapeHtml(escapedString)
참고 링크
이스케이핑/언이스케이핑에 대해서는 아래 생활코드 웹 페이지를 참고하시기 바랍니다.
아래 링크는 스택오버플로우에서 검색한 내용입니다.
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.