如何在swift中将字节转换为gb2312字符串

时间:2015-10-23 01:58:31

标签: ios macos swift

我使用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

0 个答案:

没有答案