从LE scanRecord检测LE制造商数据的编码和解码

时间:2016-10-12 13:34:45

标签: java android character-encoding bluetooth-lowenergy android-bluetooth

我可以从ble scanrecord获得制造商特定的数据。但是每次都无法猜测编码和解码到字符串。是否有更智能的方法将字节数据解码为字符串。

代码示例 -

function onTaffyRequest(verb, cfc, requestArguments, mimeExt, headers, methodMetadata, matchedURI){
    if ( methodMetadata.keyExists("allow_public") && methodMetadata.allow_public == true ){
        return true;
    }

    // your existing auth-enforcement code should go here
}

这里我能够解码utf-8编码数据。但其他编码失败了。有没有更好的方法来检测字符串的编码和解码? 我尝试过:SparseArray<byte[]> manf_data = scan_record.getManufacturerSpecificData(); if (manf_data .size() != 0) { for (int i = 0, arraySize = manf_data.size(); i < arraySize; i++) { byte[] obj = man_data.get(manf_data.keyAt(i)); String mdata = new String(obj, Charset.forName("UTF-8")); Log.i(TAG, "Adv Manufacturer utf-8 Data:" + mdata); } } 来检测编码,但无法检测到正确的编码。非常感谢任何帮助。

0 个答案:

没有答案