如何将字节转换为字符串?

时间:2014-10-06 12:25:32

标签: swift type-conversion

我需要将Byte转换为String,因为

- (NSInteger)write:(const uint8_t *)buffer maxLength:(NSUInteger)

String作为其第一个参数。

我想要的是什么:

func sendMessage(message: Byte) -> Int {
    return outputStream!.write(message, maxLength: 1)
}

5 个答案:

答案 0 :(得分:3)

您不必提供字符串,而是UnsafePointer<UInt8>。只需将message添加到&

return outputStream!.write(&message, maxLength: 1)

答案 1 :(得分:0)

试试这个

var char = 97

let str = NSString(bytes: &char, length: 1, encoding: NSUTF8StringEncoding)

答案 2 :(得分:0)

您可以将UnicodeScalar转换为String

let theString = String(UnicodeScalar(theByte))

或者您可以一次Character执行一次:

let theChar = Character(UnicodeScalar(theByte))

答案 3 :(得分:0)

对于其他来到这里寻求问题答案的人:
&#34;如何将Array个字节转换为Swift String&#34; :

String(bytes: byteArray, encoding: NSUTF8StringEncoding)

返回String?Optional<String>)。

答案 4 :(得分:0)

在查看方法的Swift版本时,documentation for NSOutputStream实际上显示了@Kirsteins建议的内容:

func write(_ buffer: UnsafePointer<UInt8>, maxLength length: Int) -> Int