我使用NSInputStream从套接字服务器读取数据,我收到的字节数据是gb2312字符串,所以我不能使用下面的代码将字节转换为NSString:
NSString(bytes: data!, length: data!.count, encoding: NSUTF8StringEncoding)
我怎样才能将收到的字节转换为gb2312编码字符串?
=============================================== ===========================
整个代码是这样的:
var inputStream :NSInputStream?
var outputStream:NSOutputStream?
NSStream.getStreamsToHostWithName(ip, port: port, inputStream: &inputStream, outputStream: &outputStream)
let reader = inputStream
let writer = outputStream
writer?.open()
reader?.open()
var message : UInt8 = 0
while reader!.read(&message, maxLength: 1)>0
{
let wa = NSString(bytes: &message, length: 1, encoding: CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.GB_18030_2000.rawValue))) as! String
}
当我收到的消息是中文字符时,xcode会抛出: 致命错误:在解开可选值时意外发现nil