Sri*_*ddy 0 c# encoding byte bytearray
我有一个webservice,它将二进制数据作为字符串返回.使用C#代码如何将其存储在字节数组中?这是正确的方法吗?
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] bytes = encoding.GetBytes(inputString);
Run Code Online (Sandbox Code Playgroud)
实际上,这不起作用.让我解释一下:Web服务代码使用utf8编码将字符串(包含XSLFO数据)转换为字节数组.在我的Web服务响应中,我只看到类似的数据"PGZvOnJvb3QgeG1sbnM6Zm89Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML0Zvcm1hdCIgeG1sbnM6eGY9Imh0dHA6Ly93d3cuZWNyaW9uLmNvbS94Zi8xLjAiIHhtbG5zOm1zeHNsPSJ1c==".实际上我希望在服务中将原始字符串值转换为byte [].不确定是否可能?
Jon*_*eet 12
不,这是个坏主意.
除非输入数据最初是文本,否则尝试使用Encoding是一个坏主意.Web服务应该使用类似base64的东西对其进行编码 - 此时您可以使用它Convert.FromBase64String来获取原始二进制数据.
基本上,将任意二进制数据视为编码文本是一种快速丢失数据的方法.当您需要在字符串中表示二进制数据时,应使用base64,hex或类似的东西.
这可能意味着您需要更改Web服务,当然 - 如果它通过简单地将二进制数据视为UTF-8编码的文本来创建字符串,那么它就会被打破.
| 归档时间: |
|
| 查看次数: |
7550 次 |
| 最近记录: |