Tag: nsstringencoding

ios将NSString与特殊字符转换为const char

即时通讯尝试画CGContextShowTextAtPoint一个string。 CGContextShowTextAtPoint只接受“const char”作为stringinput。 我的问题是,一些string有特殊的字符,如ä,ö,ü等等。 如果我把这个string转换为“const char” NSString *label = @"Küche"; const char *charLabel = [label UTF8String]; 我得到一个奇怪的输出,ü被replace为符号和框… 该怎么办?

无法从NSString创buildNSUrl总是得到零

NSMutableString *string = [[NSMutableString alloc]initWithString: @"http%3A%2F%2Fsupport24hour.com%2Fworkplace2%2Fbuttler%2Fimage.php%3Fwidth%3D534%26height%3D256%26image%3Duploads%2Fdeals%2FdealImage%2Fdeal_1383005121_IGA+Logo.JPG"]; [string replaceOccurrencesOfString:@"+" withString:@" " options:NSCaseInsensitiveSearch range:NSMakeRange(0, [string length])]; NSURL * url = [NSURL URLWithString:[string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

有没有办法“自动检测”加载使用stringFromContentsOfURL时的资源的编码?

有没有办法“自动检测”加载使用stringFromContentsOfURL时的资源的编码? 当前(非depracated)方法, + (id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error; ,想要一个URL编码。 我注意到,错误的做法对我想做的事情有所帮助。 有没有办法检查这个莫名其妙地总是正确的? (现在我正在使用UTF8。)

包含正斜杠/和HTML的string的NSJSONSerialization序列化被错误地转义

我试图将一些简单的HTML转换为JSON对象中的string值,我无法获得string编码不能转义NSJSONSerialization中的string。 示例…我有一个string,其中包含一些基本的HTML文本: NSString *str = @"<html><body><p>Samples / Text</p></body></html>"; 所需的结果是JSON与HTML作为值: { "Title":"My Title", "Instructions":"<html><body><p>Samples / Text</p></body></html>" } 我正在使用标准技术将NSDictionary转换为包含JSON的NSString: NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:str forKey:@"Instructions"]; [dict setObject:@"My Title" forKey:@"Title"]; NSError *err; NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&err]; NSString *resultingString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@", resultingString); 这个方法生成的JSON是有效的,但是所有的正斜杠都被转义了: { "Title":"My Title", "Instructions":"<html><body><p>Samples \/ Text<\/p><\/body><\/html>" } […]

如何从NSString中删除最后一个Unicode符号

我实现了一个与文本字段相关联的自定义键盘,所以当用户按下删除button时,我从string中删除最后一个字符,并手动更新当前的文本字段文本。 NSRange range = NSMakeRange(currentTextFieldString.length-1, 1); [currentTextFieldString replaceCharactersInRange:range withString:@""]; 到现在为止还挺好。 现在的问题是,用户可以selectinput一些特殊的Unicode符号,这些符号不是1个字节,也可以是2个字节,现在按下删除button,我必须删除整个符号,但如果我按照上面的方法,用户必须按两次删除button。 在这里,如果我这样做: NSRange range = NSMakeRange(currentTextFieldString.length-2, 2); [currentTextFieldString replaceCharactersInRange:range withString:@""]; 它工作正常,但是,然后,正常字符,这只是1个字节,一次删除两次。 如何处理这种情况? 提前致谢。 编辑: 奇怪的是,如果我切换到iPhone键盘,它适当地处理这两种情况。 必须有办法做到这一点,有一些我失踪,但无法弄清楚什么。