tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

gbk-encoder.html (2896B)


      1 <!doctype html>
      2 <meta charset=gbk> <!-- if the server overrides this, it is stupid, as this is a testsuite -->
      3 <script src=/resources/testharness.js></script>
      4 <script src=/resources/testharnessreport.js></script>
      5 <script>
      6 function encode(input, output, desc) {
      7   test(function() {
      8     const a = document.createElement("a") // <a> uses document encoding for URL's query
      9     a.href = "https://example.com/?" + input;
     10     assert_equals(a.search.substr(1), output); // remove leading "?"
     11   }, "gbk encoder: " + desc);
     12 }
     13 
     14 encode("s", "s", "very basic");
     15 encode("\u20AC", "%80", "Euro");
     16 encode("\u4E02", "%81@", "character");
     17 encode("\uE4C6", "%A1@", "PUA");
     18 encode("\uE4C5", "%FE%FE", "PUA #2");
     19 encode("\ud83d\udca9", "%26%23128169%3B", "poo");
     20 encode("\uE7C8", "%26%2359336%3B", "legacy ICU special case 1");
     21 encode("\u2026", "%A1%AD", "legacy ICU special case 2");
     22 encode("\uFF5E", "%A1%AB", "legacy ICU special case 3");
     23 encode("\u00A5", "%26%23165%3B", "legacy WebKit case 1");
     24 encode("\u22EF", "%26%238943%3B", "legacy WebKit case 2");
     25 encode("\u301C", "%26%2312316%3B", "legacy WebKit case 3");
     26 encode("\u{10FFFF}", "%26%231114111%3B", "U+10FFFF");
     27 
     28  // GB18030-2022
     29 encode("\uFE10", "%A6%D9", "GB18030-2022 1");
     30 encode("\uFE12", "%A6%DA", "GB18030-2022 2");
     31 encode("\uFE11", "%A6%DB", "GB18030-2022 3");
     32 encode("\uFE13", "%A6%DC", "GB18030-2022 4");
     33 encode("\uFE14", "%A6%DD", "GB18030-2022 5");
     34 encode("\uFE15", "%A6%DE", "GB18030-2022 6");
     35 encode("\uFE16", "%A6%DF", "GB18030-2022 7");
     36 encode("\uFE17", "%A6%EC", "GB18030-2022 8");
     37 encode("\uFE18", "%A6%ED", "GB18030-2022 9");
     38 encode("\uFE19", "%A6%F3", "GB18030-2022 10");
     39 encode("\u9FB4", "%FEY", "GB18030-2022 11");
     40 encode("\u9FB5", "%FEa", "GB18030-2022 12");
     41 encode("\u9FB6", "%FEf", "GB18030-2022 13");
     42 encode("\u9FB7", "%FEg", "GB18030-2022 14");
     43 encode("\u9FB8", "%FEm", "GB18030-2022 15");
     44 encode("\u9FB9", "%FE~", "GB18030-2022 16");
     45 encode("\u9FBA", "%FE%90", "GB18030-2022 17");
     46 encode("\u9FBB", "%FE%A0", "GB18030-2022 18");
     47 encode("\uE78D", "%A6%D9", "GB18030-2022 19");
     48 encode("\uE78E", "%A6%DA", "GB18030-2022 20");
     49 encode("\uE78F", "%A6%DB", "GB18030-2022 21");
     50 encode("\uE790", "%A6%DC", "GB18030-2022 22");
     51 encode("\uE791", "%A6%DD", "GB18030-2022 23");
     52 encode("\uE792", "%A6%DE", "GB18030-2022 24");
     53 encode("\uE793", "%A6%DF", "GB18030-2022 25");
     54 encode("\uE794", "%A6%EC", "GB18030-2022 26");
     55 encode("\uE795", "%A6%ED", "GB18030-2022 27");
     56 encode("\uE796", "%A6%F3", "GB18030-2022 28");
     57 encode("\uE81E", "%FEY", "GB18030-2022 29");
     58 encode("\uE826", "%FEa", "GB18030-2022 30");
     59 encode("\uE82B", "%FEf", "GB18030-2022 31");
     60 encode("\uE82C", "%FEg", "GB18030-2022 32");
     61 encode("\uE832", "%FEm", "GB18030-2022 33");
     62 encode("\uE843", "%FE~", "GB18030-2022 34");
     63 encode("\uE854", "%FE%90", "GB18030-2022 35");
     64 encode("\uE864", "%FE%A0", "GB18030-2022 36");
     65 </script>