Objective-C获取NSString数字表示

时间:2014-04-05 11:58:50

标签: ios objective-c unicode

我一直在研究加密算法,现在我想加密整个字符串而不仅仅是数字。如何获取Objective-C中每个字符的数字表示?我已经有一个包含给定字符串的所有单个字符的数组,我只需要找到一种方法来获取它的数字。 我不确定iOS是否使用unicode,但是如果Id只需要获取unicode值并将其转换为正确的数字?但是我该怎么做?

非常感谢:) 安东

1 个答案:

答案 0 :(得分:0)

加密算法通常按字节序列运行,因此您应该选择a 字符串编码NSString(内部使用Unicode)转换为 字节序列。例如:

NSString *string = @"Hello World";
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", data); //  <48656c6c 6f20576f 726c64f0 9f9884>
const uint8_t *bytes = [data bytes]; // Pointer to UTF-8 bytes
NSUInteger length = [data length];   // Number of UTF-8 bytes   

现在您可以加密bytes[0], ..., bytes[length-1](全部在0 .. 255范围内)。