Вот, специально проверил
MIME-Version: 1.0
Content-Type: application/octet-stream; name="1.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1.txt"
VEVTVA0K
------------ Дoбавленo:
iarspider писал(а):
вспоминаю, как я давным-давно этот компонент под PocketPC переделывал...А переделать под Delphi -- руки не дошли, ай как не хорошо

Пришлось мне доделывать.
------------ Дoбавленo:
Поправил. Исправленный компонент можно взять здесь [svn]Charset.pas[/svn]
А вот пример для проверки
Add(MainForm,2125730,105,84)
{
Left=20
Top=105
Width=882
Height=533
}
Add(Charset,3691239,322,203)
{
Type=5
link(onCharset,555026:doEvent1,[])
link(Text,3205121:Text,[])
}
Add(Button,10384128,105,154)
{
Left=585
Top=465
link(onClick,12406264:doEvent1,[])
}
Add(Charset,14309614,266,154)
{
Type=4
link(onCharset,3205121:doText,[])
}
Add(ListBox,2754603,217,84)
{
Left=5
Top=5
Width=510
Height=240
Strings=#76:QGVjaG8gb2ZmDQpTRVQgVEhFRklMRT1EOlxIaUFzbV9BcmNoaXZlc1xIaUFzbV9iMTY4XFByb2pl|76:Y3Q0LmV4ZQ0KZWNobyBMaW5raW5nICVUSEVGSUxFJQ0KbGQuZXhlICAtcyAtLXN1YnN5c3RlbSB3|76:aW5kb3dzICAgLW8gRDpcSGlBc21fQXJjaGl2ZXNcSGlBc21fYjE2OFxQcm9qZWN0NC5leGUgRDpc|76:SGlBc21fQXJjaGl2ZXNcSGlBc21fYjE2OFxsaW5rLnJlcw0KaWYgZXJyb3JsZXZlbCAxIGdvdG8g|76:bGlua2VuZA0KZ290byBlbmQNCjphc21lbmQNCmVjaG8gQW4gZXJyb3Igb2NjdXJlZCB3aGlsZSBh|76:c3NlbWJsaW5nICVUSEVGSUxFJQ0KZ290byBlbmQNCjpsaW5rZW5kDQplY2hvIEFuIGVycm9yIG9j|52:Y3VyZWQgd2hpbGUgbGlua2luZyAlVEhFRklMRSUNCjplbmQNCg==|
}
Add(ListBox,3205121,322,133)
{
Left=520
Top=5
Width=350
Height=240
}
Add(ListBox,11992148,434,203)
{
Left=5
Top=250
Width=510
Height=240
}
Add(Hub,12406264,161,154)
{
link(onEvent1,10370000:doReplace,[])
link(onEvent2,3691239:doCharset,[(210,167)(210,209)])
}
Add(Replace,10370000,217,154)
{
SubStr="
"
link(onReplace,14309614:doCharset,[])
link(Str,2754603:Text,[])
}
Add(MultiElementEx,555026,378,203)
{
link(onEvent,11992148:doAdd,[])
}
BEGIN_SDK
Add(EditMultiEx,3298112,21,21)
{
WorkCount=#8:doEvent1|
EventCount=#7:onEvent|
link(doEvent1,16022767:doEvent1,[(35,27)(35,62)])
}
Add(Length,12482042,189,63)
{
link(onLength,11379823:doOperation,[])
}
Add(Hub,16022767,49,56)
{
OutCount=3
link(onEvent1,9274913:doWork2,[])
link(onEvent2,12482042:doLength,[])
link(onEvent3,2836500:doFor,[(122,76)(122,139)])
}
Add(Math,11379823,238,63)
{
OpType=7
Op2=76
ResultType=0
}
Add(For,2836500,231,133)
{
IncludeEnd=1
link(onEvent,13390295:doCopy,[])
link(onStop,14618879:doData,[(271,146)(271,202)])
link(End,11379823:Result,[])
}
Add(Memory,10048801,140,56)
{
Default=String()
}
Add(Copy,13390295,294,133)
{
Position=1
Count=76
link(onCopy,4142365:doEvent1,[])
link(Str,10324033:Var2,[])
}
Add(Hub,4142365,350,133)
{
link(onEvent1,14200331:doWork2,[])
link(onEvent2,3443125:doDelete,[(394,146)(394,216)])
}
Add(DoData,14618879,280,196)
{
link(onEventData,14200331:doWork3,[(445,202)])
link(Data,14041757:Var2,[(286,177)(146,177)])
}
Add(GetDataEx,14041757,133,105)
{
link(Data,10048801:Value,[])
}
Add(Delete,3443125,406,210)
{
Count=76
link(onDelete,9274913:doWork3,[(449,216)(449,253)(102,253)])
link(Str,10324033:Var3,[(412,114)])
}
Add(GetDataEx,10324033,287,105)
{
Angle=3
link(Data,14041757:Var3,[])
}
Add(HubEx,14200331,441,126)
{
link(onEvent,3298112:onEvent,[(462,139)(462,83)(309,83)(309,27)])
}
Add(HubEx,9274913,98,49)
{
link(onEvent,10048801:doValue,[])
}
END_SDK
Оказывается, и на прошлом релизе работает, только надо было поменять кодер и декодер местами