Ich versuche, ein Byte [] in ein float [] zu konvertieren, indem Sie das Byte [] in einen ByteBuffer setzen und in einen FloatBuffer (.asFloatBuffer
) konvertieren dies zu einem Array.Nicht unterstützteOperationException mit dem Konvertieren von byte [] in float []
private static float[] toFloatArray(byte[] bytes) {
ByteBuffer buffer = ByteBuffer.wrap(bytes);
return buffer.asFloatBuffer().array();
}
jedoch ausgeführt wird:
byte[] bytes = {14,32,26,21};
toFloatArray(bytes);
mir Gibt einen java.lang.UnsupportedOperationException at java.nio.FloatBuffer.array(Unknown Source)
. Ich glaube, die Dokumentation besagt, dass der Fehler etwas damit zu tun hat, dass der Puffer nicht von einem Array (???) unterstützt wird.
Jeder hat eine Idee, wie man das repariert, oder wie ich dieses Array in Floats konvertieren soll?
Ich bin versucht zu denken, dass Sie "tiefer" gehen und versuchen sollten, einen float [] zu beginnen, anstatt mit einem byte []. Abgesehen davon könnten Sie #getFloat() für den umschlossenen Puffer aufrufen, bis keine Eingaben mehr möglich sind. – Max