3
我有一些C#代碼可以將圖像轉換爲base64字符串。代碼是:不知道這些C#和Java代碼的區別在哪裏
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);
這兩段代碼應該爲相同的圖像文件返回相同的字符串。但他們正在返回不同的字符串。我無法弄清楚爲什麼。任何人都可以點亮它嗎?
你能給我一些關於如何改進JAVA代碼的建議,以便它返回與C#相同的字符串嗎? – th1rdey3
@ th1rdey3:假設圖像文件已經處於您想要的格式,我已經給出了一個更好的(IMO)替代方法* * *。 –
我實際上需要實現C#代碼。所以它不能改變。我需要更改JAVA代碼,以便它產生相同的結果。 – th1rdey3