-2

How to convert this \U202a+98\U00a0910\U00a0280\U00a05305\U202c to pure string +989102805305.

4

2 回答 2

1
NSData *dataenc = [@"\u202a+98\u00a0910\u00a0280\u00a05305\u202c" dataUsingEncoding:NSUTF8StringEncoding];
NSString *encodevalue = [[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];
NSLog(@"%@", encodevalue); // ‪+98 910 280 5305‬
NSLog(@"%@", [[encodevalue componentsSeparatedByCharactersInSet:nonAsciiCharacterSet] componentsJoinedByString:@""]); // 989102805305
于 2015-08-01T11:23:24.170 回答
-1

您似乎很难理解字符串是什么的基本概念。字符串只是一个字符数组。就您而言,好消息是您已经拥有了一系列字符。现在您只需要了解这还不是故事的结尾 - 现在您需要将字符数组存储到我们称为字符串数据类型的变量中。你的理解会随着更多的练习而变得清晰,但现在让我试着帮助你。幸运的是,有很多方法可以在 iOS 中将其转换为字符串数据类型。Cocoa 中的NSString(和 NSMutableString)允许您轻松地初始化、格式化和附加字符串。

//You can use the Objective-C literal
NSString *yourStringName = @"\U202a+98\U00a0910\U00a0280\U00a05305\U202c";

//Or you can use the Objective-C format methods
NSString *formatedString = [NSString stringWithFormat:@"My string is %@", yourStringName];

如果你NSLog出去就是会打印My string is \U202a+98\U00a0910\U00a0280\U00a05305\U202c

新的Swift语言为您提供了多种方法来打包字符数组。除了拥有 NSString 和随之而来的所有工厂方法之外,您还拥有 swift 内置的String数据类型。有趣的是,String 类的 swift 版本并不是真正的类,而是构建为 swift结构在此处了解有关 swift 类和结构的更多信息。

//The swift (and straight forward) String literal
var yourStringName = "\U202a+98\U00a0910\U00a0280\U00a05305\U202c"

//Or you can use swift's own string interpolation
var interpolatedString = "My string is " + yourStringName

//Also you may still use the NSString methods
var formatedString: NSString = NSString(format: "My string is %@", yourStringName)

这两个都会println()My string is \U202a+98\U00a0910\U00a0280\U00a05305\U202c

您采用的这些途径中的任何一种都允许您在 iOS/MacOSX 中创建字符串。祝你在学习 iOS 以及一般编程的过程中一切顺利。

于 2015-08-01T11:13:06.427 回答