2017-09-22 15 views
0

으로 UTF 8 문자열 코드 (코드는 문자열 변수에 보유 됨)로 변환합니다. UTF 16을 UTF 8 (사용 된 방법 : toUTF8Array) 코드를 자바 스크립트로 변환하고 아약스 호출에서 코드를 보냈습니다. (주 : UTF 16 개 문자 못생긴이며 내가 원하는 해달라고 인코딩을 필요!) JS 코드 :UTF 16 문자열 (실제 utf 16 문자)

String utf8values = request.getParameter("img"); 

: 나는 다음과 같은 UTF에게 자바 서버 측에서 8 개 코드를받은

var compressed = LZString.compressToUTF16(uncompressed64Data); 
var utf8values = toUTF8Array(compressed); 
    jQuery.ajax({ 
data :"img=+" utf8values 
} 

fyi, sop의 결과 : utf8values ​​: 225,186,162,227,160,181,229 , 160,165

이제 코드를 실제 UTF 16 문자열로 변경하고 싶습니다.

미리 감사드립니다.

+0

가' "225,186,162,227,160181229160,165"'실제 문자열 당신이 있습니까? – Oleg

+0

예. 이것은 주어진 샘플입니다 –

+0

그래서 'Ả 㠵 堥'라고되어 있죠? – Oleg

답변

1

다음 작업을해야합니다 :

String[] split = "225,186,162,227,160,181,229,160,165".split(","); 
ByteBuffer bb = ByteBuffer.allocate(split.length); 
Arrays.stream(split).forEach(a -> bb.put((byte)Integer.parseInt(a))); 
bb.flip(); 
String string = Charset.forName("UTF-8").decode(bb).toString(); 
+0

우수 답변. 나는이 자바 1.7을 추출 할 수 있다면 더 행복 할 것이다. 감사합니다. –

+1

@WillMcavoy 방금 간결함을 위해'forEach'를 루프로 사용했습니다. – Oleg