【问题标题】:Converting rtf data in an NSData object to a NSString object将 NSData 对象中的 rtf 数据转换为 NSString 对象
【发布时间】:2011-10-24 11:38:40
【问题描述】:

我正在开发 iOS,我想读取 NSData 中的 rtf 数据(实际上它是核心数据实体中的一个属性)。我正在使用以下代码:

NSString *temp = [NSString stringWithUTF8String:[self.task.notes bytes]];

NSLog(@"%@ %i", temp, [temp length]);

控制台产生消息“rtfd 4”。但我正在寻找 rtfd 原始数据。 谢谢您的帮助, 何塞。

【问题讨论】:

    标签: iphone ios cocoa-touch nsstring nsdata


    【解决方案1】:

    这可能有帮助,也可能没有帮助

    // USAGE NSLog(@"%@",[Utilities dataToString:data delimiter:@"|"]);
    +(NSString*)dataToString:(NSData*)inData delimiter:(NSString*)delimiter {
        if ([inData length] == 0) {
            return @"";
        }
        if (delimiter == nil) {
            delimiter = @"";
        }
        const unsigned char * p= (const unsigned char *) [inData bytes];
        NSMutableString* outString= [[NSMutableString alloc]initWithCapacity:[inData length]*3];
        for (int i=0; i< [inData length]; i++) {
            [outString appendFormat:@"%02x",p[i]];
            [outString appendString:delimiter];
        }
        [outString autorelease];
        return outString;
    }
    

    【讨论】:

      【解决方案2】:

      如果你想要一个 RTFD 数据流的原始字符串,那么你在 Swift 中使用这个代码:

      let raw = String(data: data, encoding: .ascii)
      

      如果您有 RTF 数据流,请使用以下代码:

      let raw = String(data: data, encoding: .utf8)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多