Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Вниз

TheBat!   Найти похожие ветки 

 
DenKop   (2002-07-31 01:54) [0]

Получил письмо и с ним файл, закодированный Base64.
Стыдно спрашивать, но подскажите пожалуйста, как мне его раскодировать.


 
ShwartcKop   (2002-07-31 09:20) [1]

Use WinZip


 
AL2002   (2002-07-31 10:30) [2]

>Получил письмо и с ним файл, закодированный Base64.
Я когда-то послал рисунок в таком кодировании. Хрен его кто увидел. Пришлось в нормальном (Mime|UUEncoding) виде ещё раз отсылать. Чего и твоим отправителям желаю.


 
Jeer   (2002-07-31 12:04) [3]

Разбиваем последовательность символов на группы по 4 символа
В пределах каждой группы каждый символ перекодируем в dcN: word;
function To64(ch: char): integer;
begin
if ch in [A..Z] then result := ord(ch)-65;
if ch in [a..z] then result := ord(ch)-71;
if ch in [0..9] then result := ord(ch)+4;
if ch = #43 then result := 62;
if ch = #47 then result := 63;
end;

Формируем из 4-х полученных десятичных значений dec-число как
dc := 64*(64*(64*dc4+dc3)+dc2)+dc1;
Значащими, являются 24 бита которые разбиваем три группы по 8 бит, каждая из которых и представляет искомый символ ASCII

Jeer 2002-07-31


 
DenKop   (2002-08-01 00:11) [4]

OK. Спасибо, но у меня ни хрена не получилось, а жаль, обратная связь с отправителм утеряна!


 
AL2002   (2002-08-01 10:51) [5]

А ты попробуй сам что-то закодируй в Base, и посмотри, может и раскодировать поймёшь как.


 
Jeer   (2002-08-01 11:10) [6]

http://www.ietf.org/rfc/rfc2045.txt


6.8. Base64 Content-Transfer-Encoding

The Base64 Content-Transfer-Encoding is designed to represent
arbitrary sequences of octets in a form that need not be humanly
readable. The encoding and decoding algorithms are simple, but the
encoded data are consistently only about 33 percent larger than the
unencoded data. This encoding is virtually identical to the one used
in Privacy Enhanced Mail (PEM) applications, as defined in RFC 1421.

A 65-character subset of US-ASCII is used, enabling 6 bits to be
represented per printable character. (The extra 65th character, "=",
is used to signify a special processing function.)

NOTE: This subset has the important property that it is represented
identically in all versions of ISO 646, including US-ASCII, and all
characters in the subset are also represented identically in all
versions of EBCDIC. Other popular encodings, such as the encoding
used by the uuencode utility, Macintosh binhex 4.0 [RFC-1741], and
the base85 encoding specified as part of Level 2 PostScript, do not
share these properties, and thus do not fulfill the portability
requirements a binary transport encoding for mail must meet.

The encoding process represents 24-bit groups of input bits as output
strings of 4 encoded characters. Proceeding from left to right, a
24-bit input group is formed by concatenating 3 8bit input groups.
These 24 bits are then treated as 4 concatenated 6-bit groups, each
of which is translated into a single digit in the base64 alphabet.
When encoding a bit stream via the base64 encoding, the bit stream
must be presumed to be ordered with the most-significant-bit first.
That is, the first bit in the stream will be the high-order bit in
the first 8bit byte, and the eighth bit will be the low-order bit in
the first 8bit byte, and so on.

Each 6-bit group is used as an index into an array of 64 printable
characters. The character referenced by the index is placed in the
output string. These characters, identified in Table 1, below, are
selected so as to be universally representable, and the set excludes
characters with particular significance to SMTP (e.g., ".", CR, LF)
and to the multipart boundary delimiters defined in RFC 2046 (e.g.,
"-").



 
Jeer   (2002-08-01 11:10) [7]



Table 1: The Base64 Alphabet

Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y

The encoded output stream must be represented in lines of no more
than 76 characters each. All line breaks or other characters not
found in Table 1 must be ignored by decoding software. In base64
data, characters other than those in Table 1, line breaks, and other
white space probably indicate a transmission error, about which a
warning message or even a message rejection might be appropriate
under some circumstances.

Special processing is performed if fewer than 24 bits are available
at the end of the data being encoded. A full encoding quantum is
always completed at the end of a body. When fewer than 24 input bits
are available in an input group, zero bits are added (on the right)
to form an integral number of 6-bit groups. Padding at the end of
the data is performed using the "=" character. Since all base64
input is an integral number of octets, only the following cases can
arise: (1) the final quantum of encoding input is an integral
multiple of 24 bits; here, the final unit of encoded output will be
an integral multiple of 4 characters with no "=" padding, (2) the
final quantum of encoding input is exactly 8 bits; here, the final
unit of encoded output will be two characters followed by two "="
padding characters, or (3) the final quantum of encoding input is
exactly 16 bits; here, the final unit of encoded output will be three
characters followed by one "=" padding character.

Because it is used only for padding at the end of the data, the
occurrence of any "=" characters may be taken as evidence that the
end of the data has been reached (without truncation in transit). No



Freed & Borenstein Standards Track [Page 25]

RFC 2045 Internet Message Bodies November 1996


such assurance is possible, however, when the number of octets
transmitted was a multiple of three and no "=" characters are
present.

Any characters outside of the base64 alphabet are to be ignored in
base64-encoded data.

Care must be taken to use the proper octets for line breaks if base64
encoding is applied directly to text material that has not been
converted to canonical form. In particular, text line breaks must be
converted into CRLF sequences prior to base64 encoding. The
important thing to note is that this may be done directly by the
encoder rather than in a prior canonicalization step in some
implementations.

NOTE: There is no need to worry about quoting potential boundary
delimiters within base64-encoded bodies within multipart entities
because no hyphen characters are used in the base64 encoding.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
1-85009
lovres
2002-08-15 16:59
2002.08.26
Как в DBNavigator е повесить свои картинки вместо - , + и т.д.


1-84995
Schummi
2002-08-14 10:00
2002.08.26
Такая вот таблица


14-85217
совсем Новенький
2002-07-29 20:40
2002.08.26
Перевести Pdf (Acrobat Reader) в dhtml, doc,....


1-85075
Leviathan
2002-08-14 16:40
2002.08.26
Динамические массивы


8-85138
DDDeN
2002-04-21 15:13
2002.08.26
Преобразование в RGB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский