我正在开发一个银行应用程序,我们将字符串转换为十六进制字符串,并且十六进制字符串的某个时间长度太长所以我说我的高级开发人员将其编码为短字符串,就像我在标题中提到的那样,而不是解码它回到真正的字符串。
他告诉我这是不可能的,所以我想知道是否有可能? 如果可能的话怎么样?他正在使用以下代码进行编码和解码
NSString *plainString = @"foo";
编码
NSData *plainData = [plainString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
NSLog(@"%@", base64String); // Zm9v
解码
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@", decodedString); // foo