20170329 Base 64と暴風_オンデマンドアップロードインタフェース処理
2176 ワード
暴風アップロード第一歩
JSON(辞書)はNSStringを回転し、シーケンス化され、エスケープ文字があり、base 64符号化される.
// JSON , JSON , :
NSDictionary * dataDict = @{@"uptype":@0,@"servicetype":@1,@"filename":@"test.mp4",@"filekey":@"tom",@"filesize":@12489665,@"filetype":@0,@"deadline":@1451491200,@"callbackurl":@"http://mycompany.com" };
NSError *parseError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dataDict
options:NSJSONWritingPrettyPrinted
error:&parseError];
NSString * sttt = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
>
> sttt __NSCFString * @"{
\"uptype\" : 0,
\"filesize\" : 12489665,
\"filetype\" : 0,
\"filekey\" : \"tom\",
\"deadline\" : 1479874368,
\"callbackurl\" : \"http:\\/\\/mycompany.com\",
\"filename\" : \"test.mp4\",
\"servicetype\" : 1
}" 0x00006000001b5b60
NSString * baseStr = [[sttt dataUsingEncoding: NSUTF8StringEncoding] base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSString * strrrrr = @"{"uptype":0,"servicetype":1,"filename":"test.mp4","filekey":"tom", "filesize":12489665,"filetype":0,"deadline":1451491200, "callbackurl":"http://mycompany.com"}";//アンドロイドから来る
NSString * baseStr = [[strrrrr dataUsingEncoding: NSUTF8StringEncoding] base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
結果:baseStr_NSCFString * @"eyJ1cHR5cGUiOjAsInNlcnZpY2V0eXBlIjoxLCJmaWxlbmFtZSI6InRlc3QubXA0\rIiwiZmlsZWtleSI6InRvbSIsICJmaWxlc2l6ZSI6MTI0ODk2NjUsImZpbGV0eXBl\rIjowLCJkZWFkbGluZSI6MTQ1MTQ5MTIwMCwgImNhbGxiYWNrdXJsIjoiaHR0cDov\rL215Y29tcGFueS5jb20ifQ=="0x000060000025ab20