python float配列base 64符号化

554 ワード

pythonコード
buf = struct.pack('>%sf' % len(floatlist), *floatlist)
b = base64.b64encode(buf)
s = str(b, encoding = "utf-8")

次のjavaコードと等価
public static String encodeData(float[] data){
    ByteBuffer byteBuffer = ByteBuffer.allocate(data.length * 4);
    for (float f : data) {
        byteBuffer.putFloat(f);
    }
    byte[] dst = byteBuffer.array();
    return new sun.misc.BASE64Encoder().encode(dst);
}
  • >は、javaと一致するようにサイズ端を調整するための
  • である.
  • bはbyte型でstr型
  • に移行する必要がある