Форумы xBB | ||||||
RawUrlEncode для J2MEАвтор: dima. Последнее редактирование: 2009-08-08 18:52:25 Встала небольшая задачка написать вебклиент для мобильников. Средствами J2ME. Все было бы хорошо, но мне, как PHP'исту постоянно не хватает для работы привычных средств.Вот вдруг понадобилась функция rawurlencode, которая в PHP кодирует строку соответственно стандарту RFC 1738. Не нашел. Гугл тоже мало чем помог. Пришлось писать самому. Если кому нужно, вот она: Java static public String rawUrlEncode(String sUrl) {StringBuffer urlOK = new StringBuffer(); byte[] bUrl = sUrl.getBytes(); char[] hex = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; for (int i = 0; i < bUrl.length; i++) { byte bt = bUrl[i]; if (bt >= 'a' && bt <= 'z' || bt >= 'A' && bt <= 'Z') { urlOK.append((char)bt); continue; } if (bt >= '0' && bt <= '9' || bt == '-' || bt == '.' || bt == '_') { urlOK.append((char)bt); continue; } int h2; int h1; if (bt >= 0) { h2 = bt % 16; h1 = (bt - h2) / 16; } else { h2 = (256 + bt) % 16; h1 = (256 + bt - h2) / 16; } urlOK.append("%" + hex[h1] + hex[h2]); } return urlOK.toString(); } Возможно я поступил неправильно и гуру J2ME знают, как жить без rawurlencode. Возможно я саму функцию реализовал неправильно или не эффективно. Готов к обсуждению. 3 комментария
а чем java.net.URLEncoder не устроил?
|
| 12.08.2009 01:55:57 | # |
| 14.08.2009 05:53:48 | # |
© 2007-2012, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.