解决方案 »
- 求问关于AudioQueue的问题
- view controller之间如何传递参数
- OBJ-C上的“多态”真的仅仅是指不同的类可以有相同的方法名称吗?
- xcode 6 beta遇到的问题
- 问个在html5上播放视频的问题-100分立等可取。
- 求助帖,微信公众号开发求助,POST请求返回错误代码求解
- iOS 百度云下载功能是如何实现的,如word,excel,pdf.
- AFNetworking上传 XXX.bin 文件遇到的问题
- oc基础知识问题,第二行错误
- gem source -a https://gems.ruby-china.org 报openssl错误
- xcode 6.1.1 使用模拟器调试异常 code=146
- 一个tableView上使用三个自定义的问题 能够显示两个不同cell但打三个就开始复用第一个了
NSData *data = [NSData dataWithBytes:[string UTF8String] length:[string lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
NSUInteger length = [data length];
NSMutableData *mutableData = [NSMutableData dataWithLength:((length + 2) / 3) * 4]; uint8_t *input = (uint8_t *)[data bytes];
uint8_t *output = (uint8_t *)[mutableData mutableBytes]; for (NSUInteger i = 0; i < length; i += 3) {
NSUInteger value = 0;
for (NSUInteger j = i; j < (i + 3); j++) {
value <<= 8;
if (j < length) {
value |= (0xFF & input[j]);
}
} static uint8_t const kAFBase64EncodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; NSUInteger idx = (i / 3) * 4;
output[idx + 0] = kAFBase64EncodingTable[(value >> 18) & 0x3F];
output[idx + 1] = kAFBase64EncodingTable[(value >> 12) & 0x3F];
output[idx + 2] = (i + 1) < length ? kAFBase64EncodingTable[(value >> 6) & 0x3F] : '=';
output[idx + 3] = (i + 2) < length ? kAFBase64EncodingTable[(value >> 0) & 0x3F] : '=';
} return [[NSString alloc] initWithData:mutableData encoding:NSASCIIStringEncoding];
}