我第一次用 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";
}
}
那么如何将这两个方法 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
祝你好运
关于javascript:字符串到字节[]到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720394/