我正在从服务器接收 UDP 数据包(确切地说:打开声音控制数据包)。我将这些数据包存储在 ByteArray 中。
我想将此 ByteArray 转换为 String,以便我可以利用接收到的数据。我尝试了很多转换,但每次我都有不可读的字符。
这是代码:
| server peerAddr |
server := SocketAccessor newUDPserverAtPort: 3333.
peerAddr := IPSocketAddress new.
buffer := ByteArray new: 1024.
[ server readWait.
server receiveFrom: peerAddr buffer: buffer.
Transcript show: (buffer asString) ; cr ; flush. ] repeat.
我也尝试了以下转换但徒劳无功:
buffer asByteString.
buffer asStringEncoding:#UTF8.
buffer asStringEncoding:#UTF16.
buffer asString.
buffer asBase64String.
buffer asFourByteString
buffer withEncoding: #ASCII
这是字符串输出:
有什么帮助吗?
附加信息:接收到的数据是开放的声音控制数据,因此它具有特定的格式,这就是为什么它像这样显示的原因,我需要解析整数、浮点数、字符串,以及特定的字节数组索引。有没有人推荐一个提供这些可能性的包?
提前谢谢。