У меня есть Java-код, который готовит сообщение для MD5 Munge
private static char[] jimsCopyRight = {
'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h',
't', ':', '', 0xa9, ''};
, который используется в
StringBuffer message = new StringBuffer();
message.append (name.toLowerCase ());
message.append (новая строка (jimsCopyRight));
Когда я распечатываю сообщение, используя
for(int i = 0; i < message.length(); i++){
System.out.println ("i =" + i + "char" + message.substring (i, i + 1) + "charAT" + message.charAt (i));
}
Я получаю i = 14 char \ 251 charAT \ 251, и message.toString имеет вид jimCopyright: \ 251
Мне нужно создать NSMutableString с теми же символами.
Среди вещей, которые я пробовал
wDevCopyright = [NSString stringWithFormat:@"jimCopyright: %c ", 0xa9];
for(int i = 0; i < [message length]; i++){
NSLog(@"i = %d char %c %d", i, [message characterAtIndex:i], [message characterAtIndex:i]);
}
Что дает мне я = 14 символов © 169
Буду признателен за любую помощь в том, чтобы NSMutableString был таким же, как StringBuffer.
Проблема в том, что, когда я прохожу две строки в MD5, я получаю разные результаты, когда добавляю 0xa9. Отпечатки только для того, чтобы взглянуть на струны.
Я думаю, что это как-то связано с char [] в Java и конструкцией NSMutableString. Я не верю, что это одинаковые ценности.
У меня есть некоторый C-код, и он объявляет авторское право
#define jimsCopyRight "Copyright: � "
Java MD5 и C MD5 авторских прав одинаковы.