Jump to content

lolka84

User
  • Posts

    231
  • Joined

  • Last visited

  • Days Won

    2

lolka84 last won the day on March 25 2013

lolka84 had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

lolka84's Achievements

Explorer

Explorer (1/14)

16

Reputation

  1. Привет! Есть функция: package ru.korshun.imgcrypto; import java.io.*; public class ImgCrypto { public static void main(String[] args) { ImgCrypto ic = new ImgCrypto(); try { byte[] enc = ic.load(); String e = ic.encode(enc); try (OutputStream out = new FileOutputStream("D:\\java\\ImgCrypto\\img\\image.jpg")) { out.write(ic.decode(e)); } } catch (IOException e) { } } public byte[] load() throws FileNotFoundException, IOException { InputStream in = new FileInputStream("D:\\java\\ImgCrypto\\img\\20130826_103942.jpg"); ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte[] buffer = new byte[32 * 1024]; while (true) { int r = in.read(buffer); if (r > 0) { bout.write(buffer, 0, r); } else { break; } } bout.close(); return bout.toByteArray(); } //——————————————————- public final String encode(byte[] d) { if (d == null) return null; byte data[] = new byte[d.length+2]; System.arraycopy(d, 0, data, 0, d.length); byte dest[] = new byte[(data.length/3)*4]; // 3-byte to 4-byte conversion for (int sidx = 0, didx=0; sidx < d.length; sidx += 3, didx += 4) { dest[didx] = (byte) ((data[sidx] >>> 2) & 077); dest[didx+1] = (byte) ((data[sidx+1] >>> 4) & 017 | (data[sidx] << 4) & 077); dest[didx+2] = (byte) ((data[sidx+2] >>> 6) & 003 | (data[sidx+1] << 2) & 077); dest[didx+3] = (byte) (data[sidx+2] & 077); } for (int idx = 0; idx < dest.length; idx++) { if (dest[idx] < 26) { dest[idx] = (byte)(dest[idx] + 'A'); } else if (dest[idx] < 52) { dest[idx] = (byte)(dest[idx] + 'a' - 26); } else if (dest[idx] < 62) { dest[idx] = (byte)(dest[idx] + '0' - 52); } else if (dest[idx] < 63) { dest[idx] = (byte)'+'; } else { dest[idx] = (byte)'/'; } } for (int idx = dest.length-1; idx > (d.length*4)/3; idx--) { dest[idx] = (byte)'='; } return new String(dest); } public final String encode(String s) { return encode(s.getBytes()); } public final byte[] decode(String str) { if (str == null) { return null; } byte data[] = str.getBytes(); return decode(data); } public final static byte[] decode(byte[] data) { int tail = data.length; while (data[tail-1] == '=') { tail--; } byte dest[] = new byte[tail - data.length/4]; for (int idx = 0; idx <data.length; idx++) { if (data[idx] == '=') { data[idx] = 0; } else if (data[idx] == '/') { data[idx] = 63; } else if (data[idx] == '+') { data[idx] = 62; } else if (data[idx] >= '0' && data[idx] <= '9') { data[idx] = (byte)(data[idx] - ('0' - 52)); } else if (data[idx] >= 'a' && data[idx] <= 'z') { data[idx] = (byte)(data[idx] - ('a' - 26)); } else if (data[idx] >= 'A' && data[idx] <= 'Z') { data[idx] = (byte)(data[idx] - 'A'); } } int sidx, didx; for (sidx = 0, didx=0; didx < dest.length-2; sidx += 4, didx += 3) { dest[didx] = (byte) (((data[sidx] << 2) & 255) | ((data[sidx+1] >>> 4) & 3)); dest[didx+1] = (byte) (((data[sidx+1] << 4) & 255) | ((data[sidx+2] >>> 2) & 017)); dest[didx+2] = (byte) (((data[sidx+2] << 6) & 255) | (data[sidx+3] & 077)); } if (didx < dest.length) { dest[didx] = (byte) (((data[sidx] << 2) & 255) | ((data[sidx+1] >>> 4) & 3)); } if (++didx < dest.length) { dest[didx] = (byte) (((data[sidx+1] << 4) & 255) | ((data[sidx+2] >>> 2) & 017)); } return dest; } } Мне же нужно ее видоизменить для того, что бы можно было отдельно: а) взять jpg, закодировать и сохранить на диск кодированный файл. б) взять закодированный файл и получить jpg Собственных знаний на это к сожалению пока не хватает Очень надеюсь, что подскажут, как возможно реализовать мою задачу.
  2. lolka84

    NetBeans GUI Builder

    Спасибо. Вдогонку вопрос: при "рисовании" формы создается неизменяемый код. Можно ли его как-то все-таки менять ?
  3. lolka84

    NetBeans GUI Builder

    Привет, подскажите, почему "нарисованная" форма в NetBeans'е отличается от формы, которая вылазит после запуска проекта ?
  4. lolka84

    .PHP Denwer

    А если написать http://localhost/ ?
  5. Да не вопрос Флудите в одиночестве.
  6. Аффтарь чото сам с собой болтает, вопросы со стороны делает вид, что не замечает. з.ы. Вчитался подробнее, что аффтарь пишет - жесть. Какой js, основы html выучи для начала. Начни с этого сайта.
  7. "$('#side1').click(function(){$(document).getElementById('jslink').onclick();});" - если не секрет, какой смысл несет в себе эта функция ? Да, для модальных окон лучше всего использовать jquery ui
  8. А чем именно помочь то ? Рассказать, как из строкового элемента блочный сделать ? Или где найти нужный тэг <a> и заменить его на <input> ? Или что ?
  9. Это раз.В веб-инспекторе можно было наблюдать, что как раз у <p> идут большие отступы, из-за чего и распирало. И мне интересно, каким образом он влияет на vertical-align? Да что с того то, что он пустой, вы вот мне на инспектор всё киваете, а сами не видели в нем что ли, какие свойства для <p> заданы ? Специально для вас: http://habrahabr.ru/post/73113/ надеюсь, сможете провести параллели. А уж где и какие отступы вы у него умудрились увидеть - это для меня точно загадка и большой вопрос, кто из нас не умеет пользоваться инспектором
  10. Народ, я что-то не то спрашиваю или что ?
  11. http://jsfiddle.net/NTsQW/3/ - кривое выравнивание http://jsfiddle.net/NTsQW/4/ - нормальное выравнивание Понятно, что там table-cell, а тут inline-block, но в чем принципиальное отличие то, почему inline-block коверкает строки, если в них есть переносы слов ?
  12. По моему мнению он должен отображаться так же, как обычно отображается обычный многострочный текст. Откуда тут появляется расстояние между строками при переносе ? Пустой <p></p> служит для вполне конкретных целей, в данном случае для того, что бы vertical-align:middle; работал так, как от него требуется. Веб-инспектором пользоваться умею, не помогает в данном случае, хоть убей не пойму, откуда расстояние между строками берется. Если кто подскажет, буду очень благодарен.
  13. Всем привет. http://test.premier96.ru/main.html Кто-нибудь может объяснить, почему в верхнем меню странно отображается текст, если он в несколько строк ?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy