Windows Phone应用程序Convert.to base64给出了ArgumentOutOfRangeexception

时间:2013-02-28 18:31:52

标签: c# windows-phone-8 azure-mobile-services

Convert.ToBase64CharArray(_imageBytes, 0, 120000, outa, 0);

_imagebytes是来自可写位图的字节数组。如果大小大于120000,则抛出ArgumentOutOfRange异常。

是否有更好的(甚至是正常的)方法将图像序列化为字符数组?

需要使用它将图像序列化为字符数组以将其存储在Azure移动服务中

1 个答案:

答案 0 :(得分:2)

base64编码以四个字符存储三个字节,因此您可以获取可被三整除的数组部分并单独转换。

例如,将10000字节转换为四部分的工作分开:

Convert.ToBase64CharArray(_imageBytes, 0, 3000, outa, 0);
Convert.ToBase64CharArray(_imageBytes, 3000, 3000, outa, 4000);
Convert.ToBase64CharArray(_imageBytes, 6000, 3000, outa, 8000);
Convert.ToBase64CharArray(_imageBytes, 9000, 1000, outa, 12000);