NSString UTF8编码的问题

时间:2012-12-27 20:30:04

标签: objective-c ios nsstring

我正在阅读蓝牙特性并将其保存到名为temp的字符串中。

NSString *temp = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding];

出于某种原因,当characteristic.value是一个空字符串时,temp会使用值@“”创建,这是有道理的,但它的temp.length正在显示为17。

有关characteristic.value的详细信息:

(lldb) po characteristic.value
(NSData *) $0 = 0x1f5d9c70 <00000000 00000000 00000000 00000000 0000>
(lldb) po characteristic.value.length
error: property 'length' not found on object of type 'NSData *'
error: 1 errors parsing expression

当我尝试确定temp是否为空字符串时,逻辑不起作用

if([temp isEqualToString:@""]){

奇怪的是,当我断点并使用终端打印对象时,我得到了这个......

(lldb) po temp
(NSString *) $0 = 0x1ddcf880 [no Objective-C description available]
(lldb) po temp.length
error: property 'length' not found on object of type 'NSString *'
error: 1 errors parsing expression

有谁知道这个字符串发生了什么?

0 个答案:

没有答案