JScrewIt (các giải pháp khác nhau: 16117, 14747 và 5903 ký tự)
Công cụ Javascript không giống nhau; sự khác biệt thực hiện nhỏ có thể khiến mã hoạt động trong trình duyệt không hoạt động ở mã khác. Trong trường hợp mã lipogrammatic như JSFuck - phần lớn dựa vào hack để mã hóa mọi thứ càng ngắn càng tốt - sự không tương thích thậm chí còn lớn hơn.
Ví dụ: mã được tạo bởi JSFuck alert("Hello World!")
không chạy trên Internet Explorer. Nếu đây là giới hạn có thể chấp nhận, chúng tôi vẫn có thể giảm kích thước xuống 16117 22174 ký tự (Tôi không thể bao gồm toàn bộ mã trực tiếp vì kích thước câu trả lời bị giới hạn ở 30000 ký tự):
http://jsfiddle.net/ep2jqsj4/1/
Một mã cũng hoạt động trên Internet Explorer, nhưng không phải trên một số trình duyệt cũ hơn, phải mất 14747 ký tự để mã hóa:
http://jsfiddle.net/bbxfqboq/
Cuối cùng, nếu bạn có mã chỉ chạy trên Firefox [cập nhật] và Safari [cập nhật cuối] , chúng tôi có thể làm điều đó với 5903 5911 ký tự :
http://jsfiddle.net/pkyLy0j8/1/
Tôi đã mã hóa tất cả những thứ đó bằng JScrewIt . Bạn có thể tìm thấy các bộ mã hóa khác tương tự như JSFuck được liệt kê trên Esolang: http://esolangs.org/wiki/JSFuck . Tôi đã thử tất cả chúng và tôi phải nói rằng JScrewIt dường như là cái tốt nhất (và cũng là cái duy nhất hoạt động trong tất cả các trình duyệt), mặc dù tôi chưa phân tích chi tiết nó hoạt động như thế nào.
Một bộ mã hóa thú vị khác là 6chars.js , tạo ra đầu ra lớn hơn cho đầu vào ngắn như thế alert("Hello World!")
, nhưng khi đầu vào dài hơn, nó hoạt động tốt hơn các bộ mã hóa khác vì nó mã hóa các ký tự dưới dạng số. Các số ngắn hơn để viết trong JSFuck nhưng yêu cầu thêm chi phí để giải mã. Thật không may, 6chars.js chỉ hoạt động trong Chrome và tôi không thể nói nếu nó vẫn đang được phát triển tích cực.
Sẽ rất thú vị nếu biết nếu có nhiều bộ mã hóa như vậy. Nếu người ta có thể tham gia các phương thức được sử dụng bởi các bộ mã hóa khác nhau trong một công cụ thì có thể tạo ra các giải pháp thậm chí ngắn hơn.
$
và=
tốt không? Nếu không, tôi không nghĩ rằng chúng ta có thể tốt nhất máy phát điện.