2014-07-13 1 views
0

< Pnonegap NFC 판독기 응용 프로그램>Json To ByArray를 변환하는 방법과 UTF8을 지원합니까?

바이트 분석이 잘되지 않습니다.

나는 NFC 리더 애플리케이션을함으로써 NFC 태그에 기록 된 페이로드를하고 싶지만 내가 얻을

이 코드는 은밀한 할 수 있습니다 (영어 이외의 기록을 얻을 읽을 수 없습니다) 영어 만 기록 페이로드를 읽을 수 있습니다


,536,913,632 : 바이트 (. 영어가 아닌 지원하지, 전 중국 일본 타이어)

static byte[] jsonToByteArray(JSONArray json) throws JSONException 
{ 
    byte[] b = new byte[json.length()]; 
    for (int i = 0; i < json.length(); i++) { 
     b[i] = (byte) json.getInt(i); 
    } 
    return b; 
} 

(https://github.com/chariotsolutions/phonegap-nfc/blob/master/src/android/src/com/chariotsolutions/nfc/plugin/Util.java 전체 코드)에 영어 10

영어와 영어 이외의 다른 바이트 형식을 사용하기 때문에 생각합니다.

Ex. : https://cloud.githubusercontent.com/assets/7950705/3561034/d6f90a8e-09a2-11e4-847f-3d468ccae538.jpg

이 자바 스크립트 코드가 표시되지만 내 코드에 적응하는 방법을 알지 못합니다.

var utf8 = {} 
utf8.toByteArray = function(str) { 
    var byteArray = []; 
    for (var i = 0; i < str.length; i++) 
     if (str.charCodeAt(i) <= 0x7F) 
      byteArray.push(str.charCodeAt(i)); 
     else { 
      var h = encodeURIComponent(str.charAt(i)).substr(1).split('%'); 
      for (var j = 0; j < h.length; j++) 
       byteArray.push(parseInt(h[j], 16)); 
     } 
    return byteArray; 
}; 

utf8.parse = function(byteArray) { 
    var str = ''; 
    for (var i = 0; i < byteArray.length; i++) 
     str += byteArray[i] <= 0x7F? 
      byteArray[i] === 0x25 ? "%25" : // % 
      String.fromCharCode(byteArray[i]) : 
      "%" + byteArray[i].toString(16).toUpperCase(); 
    return decodeURIComponent(str); 
}; 

감사합니다.

+0

무엇을 명확히하십시오 배열은 있어야합니다. 그것은 당신이 달성하려고하는지 정말 불분명,하지만 난 당신이 제시 한 (비 들여 쓰기!) 코드가 당신을 도울 것입니다 의심 ... 그리고 그 확실히 자바 코드 아니다. 포맷 할 때'
가'탈출 '
"아닌 줄 바꿈으로 표시됩니다 –

+0

참고. 줄 바꿈을 삽입하려면 두 줄의 공백을 사용하여 줄을 끝내고
줄 바꿈을 추가하십시오. 코드 블록은 이것을 요구하지 않습니다. – vandale

답변

3

난 당신이 그 코드와 함께 무슨 일을하는지 모르겠지만,이 UTF-8 인코딩을 사용하여이 ByteArray로 된 JSONObject로 변환 할 수있는 유일한 합리적인 방법을 생각하면이 같다 :

byte[] json_bytes = json.toString().getBytes("UTF-8"); 
+0

나는 NFC 리더 애플리케이션을함으로써 NFC 태그에 기록 된 페이로드를하고 싶지만 내가 얻을 (전체 코드 (영어 이외의 기록을 얻을 읽을 수 없습니다) 영어 만 기록 페이로드를 읽을 수 있습니다 :은 https : //github.com /chariotsolutions/phonegap-nfc/blob/master/src/android/src/com/chariotsolutions/nfc/plugin/Util.java) >> 나는 HTML에서 좋은하지만 안드로이드 자바 좋지 않아, 나는 그것을 편집하는 방법을 알고 HTML에 있지만 안드로이드 자바에서 편집하는 방법을 모르겠다. 나는 어떤 가이드가 필요하고 도움이됩니다. 감사합니다. –

관련 문제