在C#中将image/png字符串表示转换为字节数组
将IRestResponse中的PNG字符串直接转为字节数组
如果你的IRestResponse.Content是Base64编码的PNG图片字符串(这是API返回图片字符串的常见形式),可以按以下步骤直接转换,无需保存到本地:
- 清理字符串可能带的前缀:很多API返回的图片字符串会附带
data:image/png;base64,这类标识头,需要先移除 - 用
Convert.FromBase64String()直接将处理后的字符串转为字节数组
代码示例
// 假设response是你获取到的IRestResponse实例 string pngString = response.Content; // 移除Base64前缀(如果存在) if (pngString.StartsWith("data:image/png;base64,")) { pngString = pngString.Substring("data:image/png;base64,".Length); } // 直接转换为字节数组 byte[] pngBytes = Convert.FromBase64String(pngString);
特殊情况说明
如果API返回的不是Base64编码的字符串,而是直接将二进制PNG转成的普通字符串(这种情况很少见,通常会显示乱码),可以尝试用对应编码解析:
byte[] pngBytes = Encoding.UTF8.GetBytes(response.Content);
不过这种方式大概率无法还原出可用的PNG字节流,优先推荐Base64的处理方式。
内容的提问来源于stack exchange,提问作者imsan
相关产品推荐
相关产品推荐

