Ver código fonte

Optimize ASCII

Based on #93
Alexander Zaytsev 5 anos atrás
pai
commit
31a7ed90c3
2 arquivos alterados com 29 adições e 24 exclusões
  1. 7 2
      jsfuck.js
  2. 22 22
      output.txt

+ 7 - 2
jsfuck.js

@@ -230,8 +230,13 @@
   }
 
   function unicodeEncode(c) {
-    var cc16 = c.charCodeAt(0).toString(16);
-    return '\\u' + ('0000' + cc16).substring(cc16.length);
+    var cc = c.charCodeAt(0);
+    if (cc < 256) {
+      return '\\' + cc.toString(8);
+    } else {
+      var cc16 = cc.toString(16);
+      return '\\u' + ('0000' + cc16).substring(cc16.length);  
+    }
   }
 
   function encode(input, wrapWithEval, runInParentScope){

+ 22 - 22
output.txt

@@ -1,14 +1,14 @@
 ` ` 109
-`!` 4002
+`!` 3983
 `"` 539
-`#` 4011
-`$` 4016
+`#` 3992
+`$` 3997
 `%` 2551
 `&` 1083
-`'` 4031
+`'` 4012
 `(` 114
 `)` 114
-`*` 4010
+`*` 3992
 `+` 70
 `,` 393
 `-` 153
@@ -30,7 +30,7 @@
 `=` 535
 `>` 260
 `?` 1859
-`@` 4010
+`@` 3973
 `A` 573
 `B` 576
 `C` 2707
@@ -38,31 +38,31 @@
 `E` 1865
 `F` 656
 `G` 3851
-`H` 4046
+`H` 3975
 `I` 70
-`J` 4020
-`K` 4182
-`L` 4111
+`J` 3981
+`K` 3986
+`L` 3991
 `M` 3852
 `N` 16
 `O` 732
-`P` 4015
-`Q` 4017
+`P` 3979
+`Q` 3981
 `R` 1860
 `S` 578
 `T` 3854
 `U` 2227
-`V` 4041
-`W` 4046
-`X` 4051
-`Y` 4056
-`Z` 4025
+`V` 4005
+`W` 4010
+`X` 3984
+`Y` 3986
+`Z` 3990
 `[` 171
 `\` 2121
 `]` 189
-`^` 4035
-`_` 4023
-``` 4020
+`^` 4010
+`_` 4015
+``` 3989
 `a` 15
 `b` 177
 `c` 106
@@ -90,6 +90,6 @@
 `y` 84
 `z` 1416
 `{` 109
-`|` 4126
+`|` 4020
 `}` 460
-`~` 4045
+`~` 4030