2009-05-18 9 views

Antwort

1

Probieren Sie uudeview, here. Es ist eine Open-Source-Bibliothek, die gut funktioniert und auch Yenc-Dateien zusätzlich zu Uuencoded-Dateien verarbeiten wird. Sie können es mit C/C++ verwenden oder einen Interop-Wrapper für C# ohne große Probleme schreiben.

+0

Nur um zu klären, ist dies C-Code. Auch scheint der Autor sowohl UUEncoding als auch Schreiben/Dokumentieren seiner Bibliothek überraschend ernst genommen zu haben. – Chris

1

Code Project verfügt über eine .NET-Bibliothek + Quellcode für die Uuencodierung/Decodierung. Der eigentliche Algorithmus selbst ist ziemlich weit verbreitet und ist ziemlich kurz.

Der Code Project Link: http://www.codeproject.com/KB/security/TextCoDec.aspx

Kurz Intro aus dem Artikel:

Dieser Artikel stellt eine Klassenbibliothek für die Codierung/Decodierung von Dateien und/oder Text in verschiedenen Algorithmen in .NET. Einige der Funktionen dieser Bibliothek:

Codierung/Decodierung Text in Anführungszeichen Druck Codierung/Decodierung von Dateien und Text in Base64 Encoding/Dateien decodiert und Text in UUEncode Codierung/Decodierung Dateien in yEnc

1

Ich weiß, das ist eine alte Frage, aber ich dachte, ich würde meine Antwort posten, falls jemand anderes darauf stößt.

I wrote a Stream based implementation of uuencoding für den Encoder und Decoder mit umfangreichen Komponententests.

jeden Stream zu dekodieren:

using (Stream encodedStream = /* Any readable stream. */) 
using (Stream decodedStream = /* Any writeable stream. */) 
using (var decodeStream = new UUDecodeStream(encodedStream)) 
{ 
    decodeStream.CopyTo(decodedStream); 
    // Decoded contents are now in decodedStream. 
} 

jeden Strom zu kodieren:

bool unixLineEnding = // True if encoding with Unix line endings, otherwise false. 
using (Stream encodedStream = /* Any readable stream. */) 
using (Stream decodedStream = /* Any writeable stream. */) 
using (var encodeStream = new UUEncodeStream(encodedStream, unixLineEnding)) 
{ 
    decodedStream.CopyTo(encodeStream); 
    // Encoded contents are now in encodedStream. 
} 
+0

wie kann ich das verwenden? Gibt es dafür eine DLL? – Neel

+0

und es wirft immer Index außerhalb des Bereichs Ausnahme in meinem Fall, wo die Zeilenlänge 61 Zeichen ist – Neel