在Swift中通过套接字发送整数

1 投票
1 回答
821 浏览
提问于 2025-04-18 16:40

我正在用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>

撰写回答