best-of-best.narod.ru В статье идёт речь о Mime Base64
Base64
hex-код символа
      Каждому символу соответствует его номер. (Смотри статьи "ASCII_32-127" и "1251Windows") Так например символу "b" соответствует номер 98 в десятичной системе или 62 в шестнадцатеричной. Символу "e" соответствует номер 65 в шестнадцатеричной. Узнать, какому символу соответствует какой номер в шестнадцатеричной системе можно набрав его с клавиатуры в окошечке и нажав кнопку: 62
      Если каждому символу в слове best поставить в соответствие его номер в шестнадцатеричной системе, то получим запись этого слова в так называемом hex-коде:   62 65 73 74 в котором одна двузначная цифра соответствует одному байту.
С этого места начинается кодировка Base64
Имея hex-код его можно закодировать в Base64
Двоичный код символа
      Если в первом байте (число 62 в шестнадцатеричной системе) перевести первое число (число 6) в двоичную систему, то оно будет выглядеть так:   110   Чтобы оно состояло из четырёх цифр допишем спереди нуль, который не изменит это число, получим: 0110 Узнать, какому числу в шестнадцатеричной системе соответствует какой номер в двоичной системе можно набрав его с клавиатуры в окошечке и нажав кнопку: 110
      Если каждому символу в слове best поставить в соответствие его номер в двоичной системе, то получим:   0110   0010         0110   0101         0111   0011         0111   0100
Соединим эти числа в месте:
  01100010011001010111001101110100
И разобьём по шесть:
  011000   100110   010101   110011   011101   00
Так как последнее число не полное, допишем ему в конце нули:
  011000   100110   010101   110011   011101   000000
Переход в десятичную систему
      Первое двоичное число 011000 равно 24 в десятичной системе. Узнать, какому числу в двоичной системе соответствует какое число в десятичной системе можно набрав его с клавиатуры в окошечке и нажав кнопку: 24
  Получим такие числа:   24   38   21   51   29   00
Переход к Base64
  Рассмотрим такую строчку символов: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
В ней на двадцать четвёртом месте стоит символ "Y" (отсчёт начинается с нуля, а не с единицы!) на тридцать восьмом месте стоит символ "m"
Получаем символы, стоящие на местах с номерами 24 38 21 51 29 00:
  YmVzdA       (их нужно писать без пробела)
Получилось шесть символов. Чтобы их количество стало кратно четырём в конец последовательности дописывается два символа "="
Получим:   YmVzdA==
Это и есть запись слова best в кодировке Base64
Название этого сайта best-of-best.narod.ru в кодировке Base64 будет выглядеть так: YmVzdC1vZi1iZXN0Lm5hcm9kLnJ1
Закодированные данные примерно на 33% больше, чем исходные.


Декодирование Base64
      Если у нас есть текст записанный в Base64 например:
  YmVzdA== Смотрим на каком месте стоит первый символ "Y" в приведённой выше строке. Он стоит на двадцать четвёртом месте (считая от нулевого), заменяем его на число двадцать четыре. Проделав то же с другими символами получим такие десятичные числа:   24   38   21   51   29   00
Переведём каждое из них в двоичную систему, получим:
  011000   100110   010101   110011   011101   000000
Узнать, какому числу в десятичной системе соответствует какой номер в двоичной системе можно набрав его с клавиатуры в окошечке и нажав кнопку: 011000
Если число получаемых цифр меньше шести дописываем спереди нули.
Соединим эти числа в месте:
  01100010011001010111001101110100
И разобьём по четыре:   0110   0010         0110   0101         0111   0011         0111   0100
Превратим их в шестнадцатеричные:   62 65 73 74
Узнать, какому числу в двоичной системе соответствует какие число в шестнадцатеричной системе можно набрав его с клавиатуры в окошечке и нажав кнопку: 6
На этом месте заканчивается декодировка Base64
hex-коду 62 соответствует символ b, hex-коду 65 соответствует символ e,
hex-коду 73 соответствует символ s, hex-коду 74 соответствует символ t,
Получим: best


Кроме приведённой выше строки символов base64 есть ещё
base64 UU !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
и base64 XX +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
и возможно другие, содержащие 64 символа, но это не тема данной статьи.


Кодирование текста в Base64 подручными средствами
  1. Вставьте в блокнот нужный текст и сохраните его как Name.txt
  2. Откройте Outlook Expres
  3. Сообщение > Создать
  4. В открывшемся окне для создания письма нажать кнопку "Влож..." с рисунком скрепки
  5. Находим обзором файл Name.txt
  6. Файл > Сохранить как > Name.eml
  7. Открыть созданный файл Name.eml блокнотом.
    После строки filename="Name.txt"
    будет наш текст, переведённый в Base64
      Ограничения:
    • Если текст только английский то он останется каким был
    • Если текст русский но короткий, он закодируётся не в Base64. Например, слово сайт станет выглядеть так     =D1=E0=E9=F2
    • Если текст русский и английский, но короткий, то русские буквы закодируётся не в Base64, а английские останутся какими были. Например, текст     Сайт: best-of-best.narod.ru станет выглядеть так     =D1=E0=E9=F2: best-of-best.narod.ru



Декодирование текста подручными средствами
  1. Откройте Outlook Expres
  2. Сообщение > Создать
  3. В открывшемся окне для создания письма пишем   qqqqqqq
  4. Файл > Сохранить как > Name.eml
  5. Открыть созданный файл Name.eml блокнотом.
    В конце письма, после строки Content-Transfer-Encoding: quoted-printable будет что то вроде этого

    Content-Transfer-Encoding: quoted-printable

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META content=3D"text/html; charset=3Dkoi8-r" http-equiv=3DContent-Type>
    <META content=3D"MSHTML 5.00.2919.6307" name=3DGENERATOR>
    <STYLE></STYLE>
    </HEAD>
    <BODY bgColor=3D#ffffff>
    <DIV><FONT face=3D"Arial Cyr" =
    size=3D2>qqqqqqq</FONT></DIV></BODY></HTML>

    ------=_NextPart_000_0030_01CA4C0C.869DFDA0--


  6. В место средней части вставляем наш текст, закодированный в Base64
    (например такой YmVzdC1vZi1iZXN0Lm5hcm9kLnJ1 ) Получим:

    Content-Transfer-Encoding: quoted-printable

    YmVzdC1vZi1iZXN0Lm5hcm9kLnJ1

    ------=_NextPart_000_0030_01CA4C0C.869DFDA0--


  7. В место quoted-printable пишем base64 Получим:

    Content-Transfer-Encoding: base64

    YmVzdC1vZi1iZXN0Lm5hcm9kLnJ1

    ------=_NextPart_000_0030_01CA4C0C.869DFDA0--


  8. Нажимаем на файл Name.eml и в открывшемся окне письма читаем раскодированное сообщение: best-of-best.narod.ru



Кодирование файла в Base64 подручными средствами
С помощью 64 символов, используемых в Base64 можно записать любой файл картинку, музыку, архив и так далее. Для этого:
  1. Откройте Outlook Expres
  2. Сообщение > Создать
  3. В открывшемся окне для создания письма нажать кнопку "Влож..." с рисунком скрепки
  4. Находим обзором файл, который хотим превратить в Base64 (Например файл картинки Kartinka.gif)
  5. Файл > Сохранить как > Name.eml
  6. Откройте созданный файл Name.eml блокнотом.
    После строки filename="Kartinka.gif"
    будет наш текст, переведённый в Base64



Декодирование файла подручными средствами
  1. Создайте файл Name.eml из маленькой картинки, способом, описанным выше.
  2. Откройте созданный файл Name.eml блокнотом.
  3. После строки filename="Kartinka.gif"
    будет текст, в виде Base64 вставьте в место него свой текст файла в виде Base64 например такой:
  4. Зная, какой это файл (в данном случае это файл миди) меняем строчку
    filename="Kartinka.gif"
    на строчку с нужным расширением
    filename="Muz.mid"
  5. Нажимаем на файл Name.eml и в открывшемся окне письма в строчке "Присоединить" видим наш файл
    Щелкнув по нему можно его послушать
  6. Чтобы сохранить полученный файл делаем так: Файл > Сохранить вложения



Декодировщики   Перевести текст в Base64 или Base64 в текст можно с помощью специальных программ, например base64.exe или с помощью приведённого ниже поля

   


Используются технологии uCoz