@NonNull
    public static String fullEncode(@NonNull String s) {
        return encode(s, fullUriMap);
    }
@Test
    public void testFullEncode() {
        String[] data = {
                "abcdefghijklmnopqrstuvwxyz",
                "abcdefghijklmnopqrstuvwxyz",
                "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                "01234567890!@$&*()-_=+',.",
                "01234567890%21%40%24%26%2A%28%29%2D%5F%3D%2B%27%2C%2E",
                " \"#%/:;<>?",
                "%20%22%23%25%2F%3A%3B%3C%3E%3F",
                "[\\]^`{|}~",
                "%5B%5C%5D%5E%60%7B%7C%7D%7E",
                "d\u00E9velopp\u00E9s",
                "d%C3%A9velopp%C3%A9s",
                "Foo \uD800\uDF98 Foo",
                "Foo%20%F0%90%8E%98%20Foo",
                "\u00E9 ",
                "%C3%A9%20",
        };
        for (int i = 0; i < data.length; i += 2) {
            assertEquals("test " + i, data[i + 1], Util.fullEncode(data[i]));
        }
    }