0
NSStringをバイト配列に変換します。それは大丈夫、その後私はNSDataをbase64に変換して間違っているです。 「」が正しいが数字が大きい場合(試験:@ "333435363738")が間違っている。これは私のコードです。私を助けてください。NSDataをBase-64に間違って変換する
Androidの場合:ISIjJCUmとiOS:MzQ1Njc4。
NSString *command = @"333435363738";
NSMutableData *commandToSend= [[NSMutableData alloc] init];
unsigned long whole_byte;
char byte_chars[3] = {'\0','\0','\0'};
int i;
for (i=0; i < [command length] /2; i++) {
NSLog(@"%d",[command characterAtIndex:i*2]);
NSLog(@"%d",[command characterAtIndex:i*2 + 1]);
byte_chars[0] = [command characterAtIndex:i*2];
byte_chars[1] = [command characterAtIndex:i*2 + 1];
whole_byte = strtol(byte_chars, NULL, 16);
[commandToSend appendBytes:&whole_byte length:1];
}
NSString *base64String;
if ([commandToSend respondsToSelector:@selector(base64EncodedStringWithOptions:)]) {
base64String = [commandToSend base64EncodedStringWithOptions:kNilOptions]; // iOS 7+
} else {
base64String = [commandToSend base64Encoding]; // pre iOS7
}