Ria*_*ahi 0 javascript java string bytearray
我在第一次用java编写了我的应用程序,我现在应该用javascript编写它,我在javascript中处理字符串和数组字节以及在两个方向上重新编码转换方法时遇到一些问题.这是我的java代码:
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";
}
}
Run Code Online (Sandbox Code Playgroud)
那么如何将这两个方法bytesToString和VerifyPIN转换为javascript.
先感谢您
您可以使用
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
Run Code Online (Sandbox Code Playgroud)
祝好运