如何在 Kotlin 中将 ULong 放入 ByteBuffer

问题描述

我只是这篇文章中的答案How to convert a Data Class to ByteBuffer in Kotlin?

它按预期工作。问题是几乎所有数据类型都可以放置,除了无符号一次。有用于字节缓冲区的 putLong 等函数,但没有用于 putULong 的函数。

任何提示都会受到赞赏。

亲切的问候,

C.W.

解决方法

ULongLong 是一一对应的,所以你可以把 ULong 转换成 Long,放入缓冲区,反之亦然阅读时。为方便起见,声明这些extension functions

fun ByteBuffer.putULong(value: ULong): ByteBuffer = putLong(value.toLong())

fun ByteBuffer.getULong(): ULong = getLong().toULong()

它们可以像 get/put*() 一样被调用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...