我如何"ASCII装甲"我的MemoryStream?

Lou*_*hys 2 .net c# string encoding ascii

我如何使用ASCII装甲内存流?ASCII装甲是将二进制数据编码为可打印的ASCII字符串的过程.这用于例如加密.

在C#中是否有任何标准方法可以实现此解码支持?像API一样?否则,怎么办呢?

Jon*_*eet 7

您应该几乎总是使用Base64(或十六进制)来表示可打印文本中的任意二进制数据:

byte[] binary = ...;
string text = Convert.ToBase64String(binary);

...

string text = ...;
byte[] binary = Convert.FromBaseString(text);
Run Code Online (Sandbox Code Playgroud)

您可以使用MemoryStream.ToArray()将a中的所有数据MemoryStream转换为字节数组.以流式方式执行此操作需要稍微多一些工作,但是可行 - 并且在框架中使用ToBase64TransformFromBase64Transform类支持它,您可以使用它来链接流CryptoStream.结果将是ASCII编码的base64流.