나는 API를 테스트하기 위해 안심 테스트를 사용하고 있습니다.문자열을 인코딩 형식으로 변환하는 방법
api 예상 결과 형식 중 하나는 "Store <b>"+StoreName+"</b> created successfully"
입니다.
실제 결과에는 인코딩이 포함되어 있지만 사용하는 인코딩이 확실하지 않습니다.
예 : 상점 이름은 Store <b>abc&*()_-+=~/?'abc</b> created successfully
로 abc&*()_-+=~/?'abc
후 내가 기대하고 결과 "하지만 난이 예상 비교할 수 있도록 어떻게 내 예상 된 결과를 인코딩하는 Store \u003cb\u003eabc\u0026*()_-+\u003d~/?\u0027abc\u003c/b\u003e created successfully"
로오고있다 실제.
변환이 한 곳에서 이루어지기 때문에 예상 결과 만 변환하려고합니다.
다음과 같이 내가 해결책을 가지고, 예상 된 결과로 실제 결과를 변환하는 :
org.apache.commons.lang3.StringEscapeUtils.unescapeJava("Store \u003cb\u003eabc\u0026*()_-+\u003d~/?\u0027abc\u003c/b\u003e created successfully")
결과가 Store <b>abc&*()_-+=~/?'abc</b> created successfully
로 올 것이다하지만 난 그 코드에있을 것입니다 때문에 실제 결과 내 예상 결과를 변환 할 단일 장소.
당신이 얻는 것을 유니 코드라고합니다. 동일한 문제가있는 http://stackoverflow.com/q/11145681/5207900을 참조하십시오. – Marteng
도움이 되셨습니까? http://stackoverflow.com/questions/15929686/how-to-decode-unicode-html-by-javascript – GhostCat
답장을 보내 주셔서 감사합니다. 실제로 전체 문자열은 유니 코드로 변환되지 않으며 소수의 문자 만 사용하고 있습니다. 변환. 실제 결과'Store \ u003cb \ u003eabc \ u0026 *() _- + \ u003d ~ /? \ u0027abc \ u003c/b \ u003e created successfully "는 org.apache.commons.lang3.StringEscapeUtils를 사용하여 정상으로 변환됩니다. unescapeJava ("자산 \\ u003cb \\ u003eNNN \\ u0026 \\ u003d \\ u0027NN (블루 스타) \\ u003c/b \\ u003e 성공적으로 만들었습니다")')'하지만 일반화하고 싶습니다. 방법만을 사용하여 실제 메시지 형식으로 예상 메시지를 변환하고 싶습니다. 그러나 어떻게 해야할지 잘 모르겠어요. –