【问题标题】:How can I get first 16 bit from byteArray in Android Java?如何从 Android Java 中的 byteArray 获取前 16 位?
【发布时间】:2020-02-22 19:44:33
【问题描述】:

谁能给我一个 util 方法,它可以从 Android/Java 的字节数组中给我第一个 16 位?

代码:

 //Decode API response using Base64 decoder
            byte[] decodedResult = Base64.decode(apiResponse, Base64.DEFAULT);

            //get first 16 bit from decodedResult
            byte[] first16Bit = 

Flex 语言中的 DUMMY 示例:

//Storing First 16 bits of databytearray to ivByteArray
                var ivByteArray:ByteArray = new ByteArray();
                ivByteArray.writeBytes(dataByteArray,0,16);
//Storing from 16 bits to length of databytearray to encByteArray 
                var encByteArray:ByteArray = new ByteArray();
                encByteArray.writeBytes(dataByteArray,16);

【问题讨论】:

    标签: java android


    【解决方案1】:

    您可以在 Java 中使用copyOfRange

    例如,

    byte[] first16Bit = Arrays.copyOfRange(dataByteArray, 0, 16)
    

    更新 我没有注意到在问题中用户被问到bit 而不是byte,无论如何,如果你想要前 16 位,你可以使用以下。

    byte[] first16Bit = Arrays.copyOfRange(dataByteArray, 0, 2)
    

    【讨论】:

    • 你确定这和我的问题中写在 flex 中的事情是一样的吗?
    • 但这是返回前 128 位(16 字节)!不是关于 16 位 的问题 ?!?!?
    • 是的,前两个字节是byte [] first2bytes = .....,0, 2);。我再次惊讶于 OP 不会为造成混乱找借口。
    • @PoojaSingh,我希望如此,无论如何你可以试试看是否相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多