我正在用 swift 编写一个应用程序,服务器端一直用 python 编写。 我正在努力以正确的方式发送数据。 假设服务器端被设计为接收一个 int - 这意味着将被表示为类似于 '\x00\x00\x00\x05'。
现在假设我的 swift 代码中有一个值为 5 的 int 变量 x。 我如何序列化它或以任何方式破坏它以将其转换为该字符串并通过套接字发送它?
最佳答案
您需要将数字从小端转换为大端(也称为网络标准顺序)。
var number : UInt32 = 5
var numberBE = number.bigEndian
var data = NSMutableData()
data.appendBytes(&number, length: 4)
println(data) // <05000000>
var dataBE = NSMutableData()
dataBE.appendBytes(&numberBE, length: 4)
println(dataBE) // <00000005>
关于python - 快速通过套接字发送整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25221322/