2017-10-23 1 views
0

첫 번째 Android 애플리케이션에서 작업 중이며 두 가지 형식으로 된 웹 서비스의 JSON 응답에 일부 아랍어 메시지가 표시됩니다. 그 중 하나를 올바르게 표시하면 다른 하나는 인코딩 된 메시지에 그대로 인쇄됩니다.인코딩 된 문자열 문제

에 첫 번째이다 의도

\u0635\u0641\u0631 \u0627\u0644\u0645\u0638\u0641\u0631 

이는 적절한 아랍어 문자열로 변환된다. 하지만

کامران 

, 나는 그하는 UTF-8 인코딩 된 메시지를 기다리고 있었다하지 않습니다,하지만 난 그것을 변환 드릴 수 없습니다. 아무도 내가이 인코딩 된 메시지를 이해하는 데 도움이 될 수 있습니까? 여기

내가 변환을 시도하지만 변경하는 방법입니다

public String decodeString(String encodedString) { 
    try { 
    return new String(encodedString.getBytes(), "UTF-8"); 
    } catch(Exception e){ 
    e.printStackTrace(); 
    return encodedString; 
    } 
} 

어떤 도움에 감사드립니다.

이 문제에 대한 귀하의 도움과 협조에 진심으로 감사드립니다.

여기에 메시지 (کامران)를 확인하면 : http://www.cafewebmaster.com/online_tools/utf8_decode 올바른 응답을받습니다.

두 인코딩의 차이점은 무엇입니까?

답변

2

کامران 유니 코드 코드 포인트의 HTML 인코딩처럼 보입니다. 예를 들어 Apache commons StringEscapeUtils.unescapeHtml()을 사용하여 HTML을 디코딩해야합니다. 내가 그것을 시도 할 때

compile 'commons-lang:commons-lang:2.6' 
+0

는이 형식 (\의 u0635)의 아이디어가 있습니까 :

여기 라이브러리의 Gradle을 의존성의 IT는 http://www.cafewebmaster.com/online_tools/utf8_decode했다 이것을 이해할 수 없다. 어떤 인코딩이 이것입니까? – NoNaMe

+0

@RolandIllig 좋은 지적, 답변을 업데이트했습니다. – Xiao