2013-07-18 60 views
1

我編寫我的應用程序在Java中的第一次,我現在應該編碼在JavaScript中,我有一些問題在處理字符串和arraybytes在JavaScript和重新編碼轉換方法兩個方向。 這裏是我的Java代碼:javascript:字符串到字節[]到字符串

public String VerifyPIN(String PIN, String successCb, String errorCb) { 
     byte[] AID = new byte[] {(byte)0xA0,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x04,(byte)0x10,(byte)0x10,(byte)0x11}; 
     byte[] tmpPIN = new byte[] {(byte)0x00, (byte)0x20, (byte)0x00, (byte)0x80, (byte)0x08, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00}; 
     System.arraycopy(PIN.getBytes(), 0, tmpPIN, 5, PIN.getBytes().length); 

     byte[] output = exchange(AID, tmpPIN); 
     String result = StringUtils.bytesToString(output); 

     if ("90 00".equals(result.trim())) { 
      //onSuccess() 
     } else { 
      //onError 
     } 

     return result.trim(); 
    } 

    public String bytesToString(byte[] bytes) { 
     if (bytes != null) 
     { 
      StringBuffer sb = new StringBuffer(); 
      for (byte b : bytes) { 
       sb.append(String.format("%02x ", b & 0xFF)); 
      } 
      return sb.toString(); 
     } 
     else { 
      return "N/A"; 
     } 

    } 

所以,我怎麼能轉換這兩種方法bytesToStringVerifyPIN爲JavaScript。

預先感謝您

+1

里亞希 - 所以它不是一個「免費寫我的代碼」服務。我們將幫助您處理自己編程時遇到的問題,但我們不會爲您完成工作。 –

+0

@StephenC:讓我們等一下,有些haxxor會 –

+0

@AndreaLigios - 號碼讓我們等一下。這不是應該如何使用。 –

回答

6

您可以使用

function string2Bin(str) { 
    var result = []; 
    for (var i = 0; i < str.length; i++) { 
    result.push(str.charCodeAt(i)); 
    } 
    return result; 
} 

function bin2String(array) { 
    return String.fromCharCode.apply(String, array); 
} 

string2Bin('foo'); // [102, 111, 111] 
bin2String(string2Bin('foo')) === 'foo'; // true 

好運

0

對於第二種方法,這裏是轉換:

function bytesToString(bytes) { 
    var result = ""; 
    for (var i = 0; i < bytes.length; i++) { 
    result += String.fromCharCode(parseInt(bytes[i], 2)); 
    } 
    return result; 
}