소스 검색

use mime base64 to encode resources in JS/Flash8

Nicolas Cannasse 11 년 전
부모
커밋
3de27ceb04
2개의 변경된 파일4개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 3
      codegen.ml
  2. 2 2
      std/haxe/Resource.hx

+ 2 - 3
codegen.ml

@@ -1152,10 +1152,9 @@ let set_default ctx a c p =
 	mk (TIf (mk_parent (mk cond ctx.basic.tbool p), mk (TBinop (OpAssign,ve,mk (TConst c) t p)) t p,None)) ctx.basic.tvoid p
 
 let bytes_serialize data =
-	let b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:" in
+	let b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" in
 	let tbl = Array.init (String.length b64) (fun i -> String.get b64 i) in
-	let str = Base64.str_encode ~tbl data in
-	"s" ^ string_of_int (String.length str) ^ ":" ^ str
+	Base64.str_encode ~tbl data
 
 (*
 	Tells if the constructor might be called without any issue whatever its parameters

+ 2 - 2
std/haxe/Resource.hx

@@ -99,7 +99,7 @@ class Resource {
 				return new String(x.data);
 				#else
 				if( x.str != null ) return x.str;
-				var b : haxe.io.Bytes = haxe.Unserializer.run(x.data);
+				var b : haxe.io.Bytes = haxe.crypto.Base64.decode(x.data);
 				return b.toString();
 				#end
 			}
@@ -133,7 +133,7 @@ class Resource {
 				return haxe.io.Bytes.ofData(cast x.data);
 				#else
 				if( x.str != null ) return haxe.io.Bytes.ofString(x.str);
-				return haxe.Unserializer.run(x.data);
+				return haxe.crypto.Base64.decode(x.data);
 				#end
 			}
 		return null;