Кодирование символов

Тема в разделе "WASM.HEAP", создана пользователем opennetworks, 19 дек 2006.

  1. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Сабж: Надо из строки ABc45TЖПЧШЦ#**% как то извлечь латинские символы а остальные преобразовать в латинские символы и цыфры а потом наоборот

    (нужно для динамической компилляции библиотек с именами функций которые никто не прочитает:))
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Base64?
     
  3. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Нет - Base64 допускает символ "=" нужно чтоб только латинские символы были и цыфры причем так чтобы начиналось с символа

    Это имя функции которое никто прочитать не сможет
     
  4. koderr

    koderr New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    205
    reverser
    100% нет, в base64 только a-z, A-Z, 0-9, +, /, =
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    и в чём проблема, код лень писать? Составь таблицу соответствий и s = table[s].
     
  6. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Я это в смысле - может утили уже есть такие?

    А кот писать действительно лень ( хотя с хеш-таблицами давно не упражнялся:) )
     
  7. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Ну возьми base32 тогда, а вместо = можно использовать _. И добавлять случайный символ в начале, чтоб с цифры не начиналось.
     
  8. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Тогда уж лучше MD5:)
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Разбиваешь каждый байт на 2 ниббла, к первой прибавляешь 'A', а ко второй - '0'. Т.к. вторая использует только 3 бита (ведь на входе имеем только печатные 7-битные ASCII символы), каждый символ кодируется комбинацией MN, где M e { 'A' - 'P'}, N e { '0' - '8' }. Можно ещё проще, но уже не интересно :)
     
  10. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Quantum

    Ты бы еще шифр Виженера предложил:)

    Идея -то очень даже не плохая... пробуем
     
  11. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Нашел самый оптимальный вариант - перевести все символы в HEX вариант то есть - Z = 5Ah и тд -- получаются только латинские буквы да цифры
     
  12. atorn

    atorn New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    64
    Это не самый оптимальный вариант, так как используются только 16 символов. А должно быть 62.
    Тогда лучше не в 16-ти, а 62-ричном счислении.
     
  13. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    atorn

    http://www.google.com/search?q=Этот%20текст%20в%20hex-формате

    чето я не понял -- какие 62 символа?

    Объясняю -- прога для бухов

    Они кроме русского ниче не знают!
     
  14. atorn

    atorn New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    64
    52 английских и 10 цифр.
    0=0,1=1,9=9,15=f,16=g,17=h и так далее.

    Да и правильно, зачем мучиться, HEX проще.