0
입력 스트림을 문자열로 변환하려고합니다. 변환하려는 입력 스트림은 NSURLRequest.HTTPBodyStream입니다. 분명히 httpbody는 null로 설정되고 요청을 한 후에 스트림으로 대체됩니다. 어떻게해야합니까? 이것은 내가 지금까지 가지고있는 것입니다 :NSInputStream을 NSString으로 변환하는 방법 또는 NSInputStream을 읽는 방법
#define MAX_UTF8_BYTES 6
NSString *utf8String;
NSMutableData *_data = [[NSMutableData alloc] init]; //for easy 'appending' bytes
int bytes_read = 0;
while (!utf8String) {
if (bytes_read > MAX_UTF8_BYTES) {
NSLog(@"Can't decode input byte array into UTF8.");
break;
}
else {
uint8_t byte[1];
[r.HTTPBodyStream read:byte maxLength:1];
[_data appendBytes:byte length:1];
utf8String = [NSString stringWithUTF8String:[_data bytes]];
bytes_read++;
}
}
문자열을 인쇄 할 때 문자열이 항상 비어 있거나 하나의 문자가 포함되어 있습니다. 심지어는 null이 인쇄되지 않습니다. 어떤 제안?
당신은 https://stackoverflow.com/questions/41293656/objc-exc-bad-access-when-setting에서 여기 같은'byteBuffer' 크기 수정을 할 수 있습니다 : 그래서 여기에 최종 솔루션입니다 -a-nsstring-equal-to-another; 다른 사람들이이 대답을 볼 때 이런 식으로 혼란 스럽거나 깨진 코드를 복사하지 않습니다. –
네가 맞아, 내가 나중에 알아 냈기 때문에 실제로 실수가 있었어. 지적 해 주셔서 고맙습니다. – Minimi