ソースを参照

ByteArray encoding fix.

Nicolas Cannasse 18 年 前
コミット
9922148ff6
1 ファイル変更2 行追加1 行削除
  1. 2 1
      std/haxe/Serializer.hx

+ 2 - 1
std/haxe/Serializer.hx

@@ -241,13 +241,14 @@ class Serializer {
 				buf.add("y");
 				buf.add("y");
 				var s = "";
 				var s = "";
 				var b : flash.utils.ByteArray = v;
 				var b : flash.utils.ByteArray = v;
+				var CHARS = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
 				for( p in 0...b.length ) {
 				for( p in 0...b.length ) {
 					var c = b[p];
 					var c = b[p];
 					// 0-9a-zA-Z
 					// 0-9a-zA-Z
 					if( (c >= 48 && c <= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122) )
 					if( (c >= 48 && c <= 57) || (c >= 65 && c <= 90) || (c >= 97 && c <= 122) )
 						s += String.fromCharCode(c);
 						s += String.fromCharCode(c);
 					else
 					else
-						s += "%"+(c>>4)+(c&15);
+						s += "%"+CHARS[c>>4]+CHARS[c&15];
 				}
 				}
 				buf.add(s.length);
 				buf.add(s.length);
 				buf.add(":");
 				buf.add(":");