static String binaryUrlencode(byte[] data) { char[] chars = new char[data.length]; for (int i = 0; i < data.length; i++) chars[i] = (char) (((int) data[i]) & 0xFF); try { return URLEncoder.encode(new String(chars), "UTF-8"); } catch (Exception e) { throw new RuntimeException(e); } }