LINUX.ORG.RU
ФорумTalks

[опрос] binary2text; UUE vs Base64

 


0

0

0) какой метод представления двоичных данных в текстовой форме вы предпочитаете - UUE или Base64?
1) в вашей системе есть uuencode/uudecode?
2) в вашей системе сборка coreutils включает base64?
---
лично мне Base64 больше нравится компактностью:
%du -b pingvin.gif.*
1792 pingvin.gif.base64
1856 pingvin.gif.uu
%wc -l pingvin.gif.*
24 pingvin.gif.base64
33 pingvin.gif.uu
+ утилита base64 входит в состав coreutils, т.е. базовой системы.
UUE, конечно, тоже хороший метод, но текста на выходе больше да и sharutils доустанавливать надобно.
uuencode,uudecode,base64 в моей системе имеются.

★★★★★

0) побоку 1) нет 2) да

x3al ★★★★★
()

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

Z:\>uuencode
'uuencode' is not recognized as an internal or external command,
operable program or batch file.

Z:\>uudecode
'uudecode' is not recognized as an internal or external command,
operable program or batch file.

Z:\>base64
'base64' is not recognized as an internal or external command,
operable program or batch file.

Z:\>

P. S. На работе.

true
()

>>0) какой метод представления двоичных данных в текстовой форме вы предпочитаете - UUE или Base64?

Base64, так как в нём почти не используются "спецсимволы" и его легко втавлять например в XML или HTML.

>>1) в вашей системе есть uuencode/uudecode?

Да.

>> 2) в вашей системе сборка coreutils включает base64?

Да.

>>лично мне Base64 больше нравится компактностью: >>%du -b pingvin.gif.* >>1792 pingvin.gif.base64 >>1856 pingvin.gif.uu >>%wc -l pingvin.gif.* >> 24 pingvin.gif.base64 >> 33 pingvin.gif.uu

Странный результат. Кодирование UUE и Base64 ничем не отличается и там и там три исходных байта кодируются четырьмя новыми байтами

Deleted
()
Ответ на: комментарий от Deleted

*Кодирование UUE и Base64 ничем не отличается и там и там три исходных байта кодируются четырьмя новыми байтами, разный только используемый алфавит.

Deleted
()
Ответ на: комментарий от Deleted

> *Кодирование UUE и Base64 ничем не отличается и там и там три исходных байта кодируются четырьмя новыми байтами, разный только используемый алфавит.

Все бонально Ватсон, uue шифровщики обычно делают строчку длинной в 61 символ, а base64 - 76 символов, так что в uue представлении просто больше переносов строк.

fmj
()

0) Base64
1) Нет
2) Нет, зато есть openssl, который при помощи
openssl base64 -in file.in -out file.out
и
openssl base64 -d -in file.in -out file.out
вполне себе кодирует и декодирует Base64.

Ramen ★★★★
()

uuencode/uudecode есть в базовой системе

для base64 в базовой системе есть openssl

dilmah ★★★★★
()

0) Мне пофиг. 1) Да, т.к. пользуюсь ФИДО, а там файлы принято ююкать 2) не уверен, что это в coreutils, но почтовые клиенты как-то в base64 файло кодируют :)

madcore ★★★★★
()

еще не дописал свою систему ... ждите ебилдов ...

phasma ★☆
()

А не монописуально?

vada ★★★★★
()
Ответ на: комментарий от madcore

Во! Еще кто-то фидо пользует! Я уже и нод и пойнт свой забыл

vada ★★★★★
()

разница не только в алфавите.
.uu выход получается в ~1.024 раза больше .base64
при этом, разница ~6.2 байта на каждый перенос строки
>uuencode/uudecode есть в базовой системе
>для base64 в базовой системе есть openssl
странная система
>не уверен, что это в coreutils
%base64 --version
base64 (GNU coreutils) 6.10
%uuencode --version
uuencode (GNU sharutils) 4.7
%uudecode --version
uudecode (GNU sharutils) 4.7
%openssl
bash: openssl: команда не найдена

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

s/на каждый перенос строки/на каждый дополнительный перенос строки

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от fmj

>> Все бонально Ватсон, uue шифровщики обычно делают строчку длинной в 61 символ, а base64 - 76 символов, так что в uue представлении просто больше переносов строк.

Логично, мистер Холмс.

Deleted
()

гм, странно. берём архив linux-2.6.24.2.tar.bz2:
linux-2.6.24.2.tar.bz2.base64 - 819917 строк,
linux-2.6.24.2.tar.bz2.uu - 1038564.
1038564-819917=218647. на 218647 переносов строк больше.
если бы дело было только в них, то разница была бы в 218647 байт, но она - 1257244 байт (1.199 Мбайт)!

saahriktu ★★★★★
() автор топика

libastral заруливает!

anonymous
()
Ответ на: комментарий от saahriktu

Бугага... Я кажется раскрыл страшную тайну. С википедии:

Lines between the header and trailer encode data. Each starts with a
byte indicating the number of data bytes encoded on that line and
ends with a newline character. All lines, except perhaps the last,
encode 45 bytes of data. The corresponding encoded length value
is 'M', so most lines begin with 'M'. If the count of data bytes is
not divisible by three, one or two additional bytes of zero are
appended. These are not included in the count at the beginning of
the last line.

ivan@localhost ~ $ base64 linux-2.6.24.tar.bz2 > lin.base64
ivan@localhost ~ $ uuencode linux-2.6.24.tar.bz2 lin > lin.uue
ivan@localhost ~ $ cat lin.base64 | tr -d "\n" | wc -c
62317044
ivan@localhost ~ $ tail -n +2 lin.uue | head -n -2 | sed "s/^.//" | tr -d "\n" | wc -c
62317044

Deleted
()

строго вдоль

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.