【问题标题】:byte[] encodeBase64(byte[] binaryData) equvalent in c#c# 中等效的 bytes[] encodeBase64(byte[] binary Data)
【发布时间】:2013-08-02 12:02:18
【问题描述】:

在 Java 中,Apache 提供了一个编码库,即 apache-commons,并且有一个签名方法是

byte[] encodeBase64(byte[] binaryData)

在 C# 中,我们尝试做同样的事情。但是,我们找不到任何这样的库或方法。我们如何将我们的字节数组编码为 Base64 字节数组?

【问题讨论】:

    标签: c# java base64 byte encode


    【解决方案1】:

    您可以利用Convert.ToBase64String 方法。但是,这不会返回 byte[] 而是 string 类型。要以字节为单位,您必须执行文本编码。

    string base64 = Convert.ToBase64String(binaryData);
    byte[] base64bytes = System.Text.Encoding.ASCII.GetBytes(base64);
    

    【讨论】:

    • 我只有字节数组,我不想在这个操作中使用字符串类型。此外,当我尝试编码为 base64 时,任何编码类型(UTF8、ASCII)都不起作用。
    • IIRC,编码到 base 64本质上就像编码到 ASCII 字符串一样。如果这对您不起作用,您能否发布您尝试过的代码以及输出不是您期望或需要的?
    • var byteArray = Encoding.ASCII.GetBytes(Convert.ToBase64String(byteArray));这个不行。
    • 它是如何“不工作”的?它会抛出错误吗?它会给你不正确的字节数据吗? (此外,您发布的内容无法编译;您在尝试在同一行中使用它时重新声明了 byteArray
    猜你喜欢
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2017-11-29
    • 2012-03-17
    • 2010-10-07
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多