从xcode for iphone应用程序中的字符串获取ascii码
嘿,只是一些关于编写我的第一个ios应用程序的简单问题。我一直在搜索这里的问题,但它们似乎都解决了比我更高级的问题,所以我感到困惑 (1) 我所要做的就是将字符串转换为表示ASCII码的整数数组。换句话说,我想转换:从xcode for iphone应用程序中的字符串获取ascii码,iphone,ios,ipad,casting,ascii,Iphone,Ios,Ipad,Casting,Ascii,嘿,只是一些关于编写我的第一个ios应用程序的简单问题。我一直在搜索这里的问题,但它们似乎都解决了比我更高级的问题,所以我感到困惑 (1) 我所要做的就是将字符串转换为表示ASCII码的整数数组。换句话说,我想转换: "This is some string. It has spaces, punctuation, AND capitals." 一个包含62个整数的数组 (2) 我如何从NSArray回到一个字符串 (3) 此外,这些操作在内存或计算时间方面是否昂贵?如果我们必须在每次迭代或其
"This is some string. It has spaces, punctuation, AND capitals."
一个包含62个整数的数组
(2) 我如何从NSArray回到一个字符串
(3) 此外,这些操作在内存或计算时间方面是否昂贵?如果我们必须在每次迭代或其他时候创建一个新变量,这似乎是可能的
我知道如何声明所有变量,我假设我在字符串的长度上运行一个循环,在每次迭代中,我以某种方式获取字符,并通过调用内置命令将其转换为数字
感谢您提供的任何帮助或可能有帮助的帖子链接 NSString有一个方法来获取数组中的字符:
NSString *string = "This is some string. It has spaces, punctuation, AND capitals.";
unichar *buffer = malloc(sizeof(unichar) * [string lenght]);
[string getCharacters:buffer range:NSMakeRange(0, [string length])];
如果检查unichar的定义,则它是一个无符号的短字符。NSString有一种获取数组中字符的方法:
NSString *string = "This is some string. It has spaces, punctuation, AND capitals.";
unichar *buffer = malloc(sizeof(unichar) * [string lenght]);
[string getCharacters:buffer range:NSMakeRange(0, [string length])];
如果您检查unichar的定义,它是一个无符号的短字符。如果您想将ascii值存储在nsarray中,它将非常昂贵。NSArray只能保存对象,因此必须为每个ASCII值创建NSNumber:
unsigned len = [string length];
NSMutableArray arr = [NSMutableArray arrayWithCapacity:len];
for (unsigned i = 0; i < len; ++i) {
[arr addObject:[NSNumber numberWithUnsignedShort:[string characterAtIndex:i]]];
}
无符号len=[字符串长度];
NSMUTABLEARRY arr=[NSMUTABLEARRY阵列容量:len];
for(无符号i=0;i
2) 要返回到NSString,需要使用MSMutableString并将每个字节附加到NSMutableString
在说了这些之后,如果你能避免的话,我建议你不要使用这种方法
更好的方法是使用@EmilioPelaez的答案。与迭代和压缩字符串相比,从内存缓冲区返回NSString既简单又便宜
NSString*stringFromMemory=[[NSString alloc]initWithBytes:缓冲区长度:len编码:NSASCIIStringEncoding];
如果您想将ascii值存储在nsarray中,这将非常昂贵。NSArray只能保存对象,因此必须为每个ASCII值创建NSNumber:
unsigned len = [string length];
NSMutableArray arr = [NSMutableArray arrayWithCapacity:len];
for (unsigned i = 0; i < len; ++i) {
[arr addObject:[NSNumber numberWithUnsignedShort:[string characterAtIndex:i]]];
}
无符号len=[字符串长度];
NSMUTABLEARRY arr=[NSMUTABLEARRY阵列容量:len];
for(无符号i=0;i
2) 要返回到NSString,需要使用MSMutableString并将每个字节附加到NSMutableString
在说了这些之后,如果你能避免的话,我建议你不要使用这种方法
更好的方法是使用@EmilioPelaez的答案。与迭代和压缩字符串相比,从内存缓冲区返回NSString既简单又便宜
NSString*stringFromMemory=[[NSString alloc]initWithBytes:缓冲区长度:len编码:NSASCIIStringEncoding];
我最终使用了我在这里找到的语法。谢谢你的帮助
我最终使用了我在这里找到的语法。谢谢你的帮助