Kotlin中的简单数据处理之数字存 ByteArray

Kotlin中的简单数据处理之数字存 ByteArray

就一个简简单单的socket端口号存入ByteArray我搞了一个多小时,记录一下自己的超低效率。
以端口号20000为例,先建立一个ByteArray数组,再分别将端口的高八位和低八位取出转换并存储即可。

//初始化字节数组
var res: ByteArray = ByteArray(2)
//取高八位
 res[0] = (20000.toInt().ushr(8) and 0xFF).toByte()
 //取低位
 res[1] = (20000 and 0xFF).toByte()

Kotlin中位操作总结如下:

shl(bits) – 左移位 (Java’s <<)
shr(bits) – 右移位 (Java’s >>)
ushr(bits) – 无符号右移位 (Java’s >>>)
and(bits) – 与 &
or(bits) – 或 ||
xor(bits) – 异或
inv() – 反向

注意:kotlin中,位运算只能是Int 和 Long类型,所以大部分我们都需要通过toInt()或者toLong()方法转为Int或Long类型

参考:Kotlin中位操作注意事项

猜你喜欢

转载自blog.csdn.net/weixin_44095139/article/details/107461448