iOS
Convert JPEG to Base64
用 UIImageJPEGRepresentation/UIImagePNGRepresentation
將 UIImage 轉成 NSData,
再丟給 Base64 encode 處理。
// initialize
[Base64 initialize];
// resize: 150x150
NSData *imageData = UIImageJPEGRepresentation([self resizeImage:[info objectForKey:UIImagePickerControllerEditedImage] Size:CGSizeMake(150, 150)], 1.0);
NSString *strEncoded = [Base64 encode:imageData];
Haxe
Convert bytesData to BitmapData
Base64 decode 取得 BytesData 後,直接丟給 BitmapData.loadFromHaxeBytes
處理。
var bmd:BitmapData = BitmapData.loadFromHaxeBytes(Base64.decodeBytesData(data));
var bitmap:Bitmap = new Bitmap(bmd);
addChild(bitmap)
iOS
Convert String to Base64
丟給 sendEvent 時記得轉成 C string(char)。
[Base64 initialize];
NSString *str = @"hello world~大家好!!";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSString *strEncoded = [Base64 encode:data];
// pass c string: const char
sendEvent(2, [strEncoded cStringUsingEncoding:NSASCIIStringEncoding]);
Haxe
Output String
trace(Base64.decodeBytesData(data).toString());
Update 20131104
iOS7 之後內建 NSData
終於支援 Base64 encoding/decoding。
encode:
[[sourceString dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
decode:
NSData *decodeData = [[NSData alloc] initWithBase64EncodedString:encodeString options:NSDataBase64DecodingIgnoreUnknownCharacters];
NSString *output = [[NSString alloc] initWithData:decodeData encoding:NSUTF8StringEncoding];