Преглед на файлове

Fix encoding for Unicode characters.

Martin Kleppe преди 11 години
родител
ревизия
f8feed4087
променени са 2 файла, в които са добавени 16 реда и са изтрити 2 реда
  1. 15 1
      jsfuck.js
  2. 1 1
      package.json

+ 15 - 1
jsfuck.js

@@ -229,7 +229,21 @@
     }
 
     input.replace(/./g, function(c){
-      output.push(MAPPING[c] || 'String["fromCharCode"](' + c.charCodeAt(0) + ')' );
+
+      var replacement = MAPPING[c];
+
+      if (replacement){
+        output.push(MAPPING[c]); 
+      } else {
+
+        replacement =
+          "([]+[])[" + encode("constructor") + "]" +
+          "[" + encode("fromCharCode") + "]" +
+          "(" + encode(c.charCodeAt(0) + "") + ")";
+ 
+        output.push(replacement);
+        MAPPING[c] = replacement;
+      }
     });
 
     output = output.join("+");

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "jsfuck",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "description": "Write any JavaScript with just 6 characters: []()!+",
   "main": "jsfuck.js",
   "bin": "fuck.js",