我有一些C#代码,可以将图像转换为base64字符串。代码如下:
MemoryStream ms = new MemoryStream();
Image img = Image.FromFile(filename);
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
string s = Convert.ToBase64String(ms.GetBuffer());
我正在尝试使用Java实现它。我的Java代码如下:
BufferedImage img = null;
img = ImageIO.read(new File(filename));
byte[] bytes = ((DataBufferByte)img.getData().getDataBuffer()).getData();
String js = Base64.encodeBase64String(bytes);
这两段代码应该对于相同的图片文件返回相同的字符串。但是它们返回的字符串不同。我无法弄清楚为什么。有人能解释一下吗?