我需要将Byte
转换为String
,因为
- (NSInteger)write:(const uint8_t *)buffer maxLength:(NSUInteger)
将String
作为其第一个参数。
我想要的是什么:
func sendMessage(message: Byte) -> Int {
return outputStream!.write(message, maxLength: 1)
}
答案 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