1

我处于不幸的情况,我需要直接在 Haskell 中与 Java 套接字 API 交互。通过网络发送 Java 字符串的方式是将它们的长度添加到字符串的开头。

例如:

\0\0\0\xBHello World

是字符串“Hello World”

我可以得到ByteString没有问题的长度,但作为Int. 我可以Word32使用 Blaze Builder 将 a 添加到 ByteString,但我找不到IntWord32. 是否有一些我找不到的便捷方法可以做到这一点?

谢谢。

4

2 回答 2

5

您可以使用fromIntegral函数转换任何整数类型。

于 2013-10-22T01:01:12.743 回答
1

尝试使用 Data.Binary.encode。

foo :: B.ByteString -> B.ByteString
foo s = B.append (encode $ B.length s) s
于 2013-10-22T18:44:07.617 回答