繁体   English   中英

使用UTF8和base64编码将字节数组转换为xml?

[英]Byte array to xml with UTF8 and base64 encoding?

    [return: System.Xml.Serialization.XmlElementAttribute("return", DataType="base64Binary")]
    public byte[] get(...)

我试图从这个Web服务获得一个xml(utf-8)。 我尝试了多种方法来尝试从字节数组中获取xml,如:

stream
encoding
decoder
converter

[额外信息]用Encoding.UTF8.GetString(字节)解码字节数组时,我得到一个带有奇怪符号和符号的字符串,但也带有一些文字开头:%PDF-1.4

[解决方案]将字节数组写入pdf文件使其可读。

您可以尝试Convert.ToBase64String

我认为Web服务提供的字节流只是base64编码的数据,表示为整数而不是字符。 我相信base64字符是ASCII的子集,所以你需要将字节数组转换为ASCII(即base64表示为chars),然后从base64转换这些字符:

var base64AsAscii = Encoding.ASCII.GetString(bytesFromWebService);
var decodedBytes = Convert.FromBase64String(bytesAsAscii);
var text = Encoding.UTF8.GetString(decodedBytes);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM