1. Java / Говнокод #2036

    +79.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    String _desc = postParams.get( "description" );
    
    if (_desc == null)
        _desc = "Merchant payment";
    
    _desc = _desc.replace("%20", " ");
    _desc = _desc.replace("%21", "!");
    _desc = _desc.replace("%22", "\"");
    _desc = _desc.replace("%23", "#");
    _desc = _desc.replace("%24", "$");
    _desc = _desc.replace("%25", "%");
    _desc = _desc.replace("%26", "&");
    _desc = _desc.replace("%27", "'");
    _desc = _desc.replace("%28", "(");
    _desc = _desc.replace("%29", ")");
    _desc = _desc.replace("%2A", "*");
    _desc = _desc.replace("%2B", "+");
    _desc = _desc.replace("%2C", ",");
    _desc = _desc.replace("%2D", "-");
    _desc = _desc.replace("%2E", ".");
    _desc = _desc.replace("%2F", "/");
    _desc = _desc.replace("%3A", ":");
    _desc = _desc.replace("%3B", ";");
    _desc = _desc.replace("%3C", "<");
    _desc = _desc.replace("%3D", "=");
    _desc = _desc.replace("%3E", ">");
    _desc = _desc.replace("%3F", "?");
    _desc = _desc.replace("%40", "@");
    _desc = _desc.replace("%5B", "[");
    _desc = _desc.replace("%5C", "\\");
    _desc = _desc.replace("%5D", "]");
    _desc = _desc.replace("%5E", "^");
    _desc = _desc.replace("%5F", "_");
    _desc = _desc.replace("%60", "`");
    _desc = _desc.replace("%7B", "{");
    _desc = _desc.replace("%7C", "|");
    _desc = _desc.replace("%7D", "}");
    _desc = _desc.replace("%7E", "~");

    Разработчики java.net.URLDecoder были идиотами. Напишем КРУЧЕ!

    Запостил: spbAngel, 24 Октября 2009

    Комментарии (8) RSS

    • StringBuilder тоже не знает
      Ответить
    • Самое смешное:
      %2526 -> &
      Ответить
      • Черт! Я туплю... Полминуты втыкал что ты имел ввиду.
        Да. Код оказался поужасней, чем я думал. Респекты gecko! *низкий_поклон*
        Ответить
    • Да ну, вы чего) Заглядывайте в исходники рантайма прежде чем постить такие наезды) Во как оно на самом деле:
      http://kickjava.com/src/java/net/URLDecoder.java.htm
      Ответить
      • и в чём тайный смысл твоего поста и линка??
        Ответить
        • там приведён код метода decode. Совсем не такой, как тута.
          Ответить
          • Да неужели не такой? о_О

            Капитан Очевидность спешит на помощь и поясняет, что это был сарказм и код представленный тут взят из проекта, разработчик которого решил не использовать java.net.URLDecoder (видимо, посчитав что его авторы идиоты) и попытался написать свой метод.
            Ответить
            • Не факт. В Java ME класса java.net совсем нет.
              Так что и урлы декодить приходится ручками.
              Но не так же жестоко. Кстати, replace в Java ME тоже нет ;-)
              Ответить

    Добавить комментарий