在Swift中通过套接字发送整数
我正在用Swift写一个应用程序,服务器端是用Python写的。现在我在发送数据时遇到了一些困难。
假设服务器端设计成接收一个整数,这个整数会以类似于'\x00\x00\x00\x05'的形式表示。
现在假设我在Swift代码中有一个整数变量x,它的值是5。我该如何把它转换成这种字符串格式,然后通过套接字发送出去呢?
1 个回答
1
你需要把数字从小端格式转换成大端格式(也叫网络标准顺序)。
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>