小编cry*_*use的帖子

Kotlin 将十六进制字符串转换为 ByteArray

我有这个字符串:

val s = "00b44a0bc6303782b729a7f9b44a3611b247ddf1e544f8b1420e2aae976003219175461d2bd7" +
        "6e64ba657d7c9dff6ed7b17980778ec0cbf75fc16e52463e2d784f5f20c1691f17cdc597d7a514108" +
        "0809a38c635b2a62082e310aa963ca15953894221ad54c6b30aea10f4dd88a66c55ab9c413eae49c0b" +
        "28e6a3981e0021a7dcb0759af34b095ce3efce78938f2a2bed70939ba47591b88f908db1eadf237a7a" +
        "7100ac87130b6119d7ae41b35fd27ff6021ac928273c20f0b3a01df1e6a070b8e2e93b5220ad0210400" +
        "0c0c1e82e17fd00f6ac16ef37c3b6153d348e470843a84f25473a51f040a42671cd94ffc989eb27fd42" +
        "b817f8173bfa95bdfa17a2ae22fd5c89dab2822bcc973b5b90f8fadc9b074cca8f9365b1e8994ff0bda48" +            "b1f7498cce02d4e794915f8a4208de3eaf9fbff5"
Run Code Online (Sandbox Code Playgroud)

这是字节的十六进制表示法,硬编码为字符串格式。我需要这个东西作为字节数组,重要的是,不是它的 ASCII 表示,实际上是表示的十六进制值。

我能找到的所有 kotlin 方法,例如:

val b = s.encodeToByteArray()
Run Code Online (Sandbox Code Playgroud)

似乎正在获取字符串的实际 ASCII 值,并将其转换为字节数组。

如何直接从这个字符串中的值创建一个字节数组?

kotlin

6
推荐指数
2
解决办法
2864
查看次数

通过 TCP 端口发送简单消息

我真的很想通过 tcp 发送一条非常简单的消息,让两个 kotlin 程序(服务器和客户端)相互通信,相互发送短字符串。

我有一个非常简单的服务器代码:

fun main(args : Array<String>) {
    val server = ServerSocket(5000)
    println("Server is running on port ${server.localPort}")

    val socket = server.accept()

    print("connected to client: "+ socket.inetAddress.toString())   
    val text = BufferedReader(InputStreamReader(socket.inputStream)).readLine()
}
Run Code Online (Sandbox Code Playgroud)

这对于客户来说:

fun main(args: Array<String>) {
    val socket = Socket("localhost", 5000)

    PrintWriter(socket.outputStream, true).write("text")
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,我首先运行服务器,然后运行客户端,然后从客户端向服务器发送一些消息(也可能相反)。我现在尝试从本教程中获取当前的内容(https://sylhare.github.io/2020/04/07/Kotlin-tcp-socket-example.html),但发现很难弄清楚什么去做

任何帮助深表感谢

tcp kotlin

1
推荐指数
1
解决办法
1511
查看次数

标签 统计

kotlin ×2

tcp ×1