我正在我的 Adobe AIR 移动应用程序中读取 NFC 标签。数据被读取为 ByteArray,但我很难提取全文。标记上的示例文本是“http://www.google.com”
使用这种方法,我得到了字符串“http://www.goog”的一部分,但不是全部。我假设因为每个字符都不是一个字节:
private static function convertToString(byte_array : ByteArray) : String {
var arr : Array = [];
for (var i : Number = 1 ; i <= byte_array.bytesAvailable; i++) {
arr.push(byte_array.readUTFBytes(i));
}
var finalString : String = "";
for (var t : Number = 0; t < arr.length;t++) {
finalString = finalString + arr[t].toString();
}
return finalString;
}
我也试过下面的方法,但它返回null:
bytes.readUTF();
我想知道是否需要将 byteArray 转换为 base64 字符串,然后对其进行解码。这似乎是一个额外的步骤,但这就是我之前使用 AMFPHP 向/从服务器发送数据时所做的。
提前感谢您的任何意见。