kotlin - 如何在 Kotlin 中将数据类转换为 ByteBuffer?

标签 kotlin aws-sdk bytebuffer amazon-kinesis-kpl

我正在尝试使用 Kinesis,它需要字节缓冲区格式的数据。到目前为止,我看到的所有示例都是用 Java 编写的,并传递简单的字符串。 谁能给出如何将 kotlin 数据类转换为字节缓冲区的想法?

例如 数据类 abc ( 变种一:长, 变种b:字符串, 变量 c:双 )

最佳答案

检查下面的方法

fun toByteArray(): ByteArray? {
val size: Int = 8 + 8 + string.Size

val byteBuffer = ByteBuffer.allocate(size)
        .put(long) //long veriable 
        .put(double) // double veriable 
        .put(string)


   return byteBuffer.array()
}

您可以根据数据类型大小分配大小,例如 Int 4 字节、Double 和 Long 8 字节

读回数据类型

  val byteBuffer = ByteBuffer.wrap(byteArray)
        byteBuffer.get(Int) //Int variable
        byteBuffer.get(Double) //Double variable
        byteBuffer.get(nonce)

关于kotlin - 如何在 Kotlin 中将数据类转换为 ByteBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568131/

相关文章:

android - Snackbar 的滑动关闭卡住应用程序

c - 亚马逊 dynamoDb ValidationException

amazon-web-services - Amazon S3 客户端 setReadLimit

aws-sdk - 创建策略云信息

java - netty tcp bytebuffer 服务器和客户端

kotlin - 在 Kotlin 中实现 Cloudinary 签名上传

java - 错误与removeAt java arraylist android

java - 当字节数为奇数时,如何从 ByteBuffer(Little Endian)中获取 long?

java - Java中如何从字节数组中获取数据?

android - 如何在 App 更新中模拟 onFailureListener & resultCode != Activity.RESULT_OK?