将ASCII符号附加到字符串

时间:2014-09-10 13:47:25

标签: ios objective-c

我有一个十六进制0x1111的字符串和ASCII码。 如何在字符串的结尾/开头添加ASCII代码以查看此代码的符号?

NSString* some = @"some";

4 个答案:

答案 0 :(得分:2)

注意NSString是不可变的 - 您需要NSMutableString来附加内容。 mutableCopy方法对此非常方便。

NSMutableString的{​​{1}}或appendFormat:方法可以追加到最后。格式字符串类似于传统的appendString: C函数(添加printf(3)用于插入Obj-C对象)。

%@

另一种方法是从格式字符串创建新的NSString *some = @"some"; char newCharacter = 0x41; NSString *stringWithCharacter = [[some mutableCopy] appendFormat:@"%c", newCharacter]; 。这可能是最简单的。

NSString

答案 1 :(得分:1)

正如评论中已经讨论过的0x1111不是ASCII字符,更可能是UTF-16字符。

您可以从原始字符串和字符串中创建新的NSString

NSString *some = @"some";
NSString *combined = [some stringByAppendingString:@"\u1111"];

或者您可以将其附加到NSMutableString

NSString *some = @"some";
NSMutableString *str = [NSMutableString new];
[str appendString:some];
[str appendString:@"\u1111"];

如果角色不同,则可以使用以下方法将其从角色转换为NSString对象:

unichar input = 0x1111;
NSString *str = [NSString stringWithCharacters:&input
                                        length:1];

并按上述方式添加。

答案 2 :(得分:1)

最简单的方法:

NSString *some = @"some";
some = [[@"@\u1111" stringByAppendingString:some] stringByAppendingString:@"@\u1111"];
NSLog(@"Some: %@", some);

返回:

Some: @ᄑsome@ᄑ

答案 3 :(得分:0)

您也可以使用以下方法

用于在开头添加数据:

NSString *some = @"some";
char newCharacter = 0x41;
NSString *some = [NSString stringwithformat:@"%c%@",newCharacter,some];

用于追加数据:

NSString *some = @"some";
char newCharacter = 0x41;
NSString *some = [NSString stringwithformat:@"%@%c",some,newCharacter];