:: Visual Foxpro, Foxpro for DOS
quoted-printable decoder
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
в мейлах прикрепленный файл часто идет в quoted-printable
готовым декодером никто не поделится?

пример такого сообщения
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="bexorder.txt"
21808030025 0018 =C0=F0=F2=E5=EC =C1=E5=E5=EA =
=C3=E0=EB=E8=ED=E0 =D1=E5=EB=E8=F9=E5=E2=E0 2007051520070528 =
=
=
5354/1 =
=CB=FE=EA 1800=F51800 8=F8=F2 =
=CA451 0101110105Y0534 =EB=E8=F1=F2 =F7=E8=F9 =
st3=F1=EF5 5*1.8*8.0 =EA=E3 0 =
1695 1695 10.71 =
20070528=E3=F0=F3=ED=F2=EE=E2=E0=F2=FC =F2=EE=F7=ED=EE=E5 =
=EA=EE=EB-=E2=EE 3=EB=E8=F1=F2 1=F6 =
01 1 =20
21808030025 0018 =C0=F0=F2=E5=EC =C1=E5=E5=EA =
=C3=E0=EB=E8=ED=E0 =D1=E5=EB=E8=F9=E5=E2=E0 2007051520070528 =



Исправлено 1 раз(а). Последнее : AlexSSS, 31.05.07 09:48
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
Каратаев

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
Есть маленькая программка, смотри вложение.


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
Александр, спасибо

но нужен код на фоксе
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
leonid

Сообщений: 3202
Откуда: Рига
Дата регистрации: 03.02.2006
Никогда такого не встречал, но первое впечатление, что нужно просто =ХХ заменить на соответствующие ASCII коды и в конце строки = убрать.
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
у меня тоже такое впечатление ;o)

тогда еще вопрос, как hex перевести в dec?
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
leonid

Сообщений: 3202
Откуда: Рига
Дата регистрации: 03.02.2006
?eval("0xAA")
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
работающий код

PROCEDURE hex2asc
PARAMETERS cStr
* Convert quoted-printable text to ascii
LOCAL cPrefix
cPrefix = 'A'
DO WHILE cPrefix<='F'
DO WHILE ATC('='+cPrefix, cStr)>0
nPos = ATC('='+cPrefix, cStr)
cHex = SUBSTR(cStr, nPos,3)
cAscii = SUBSTR(cHex, 2)
cAscii = EVALUATE("0x&cAscii")
cAscii = CHR(cAscii)
cStr = STRTRAN(cStr, cHex, cAscii)
ENDDO
cPrefix = CHR(ASC(cPrefix)+1)
ENDDO
cStr = CHRTRAN(cStr, '='+CHR(13)+CHR(10), '')
RETURN cStr
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
leonid

Сообщений: 3202
Откуда: Рига
Дата регистрации: 03.02.2006
Если строка достаточно большая, то такой способ будет медленно работать. Лучше запихнуть строку во временный файл и читать последовательно с помощью fread, а записывать в новый файл тоже последовательно. На строках порядка 100 Kb будет раз в 100 быстрее.
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
спасибо, буду иметь в виду
в моем случае это неактуально, размеры строки не превышают 5Кб, работает мгновенно
Ratings: 0 negative/0 positive
Re: quoted-printable decoder
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
бред)? да, 2007-го года



Исправлено 1 раз(а). Последнее : of63, 13.09.22 19:58
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика