이미지를 base64 문자열로 변환하는 C# 코드가 있습니다. 코드는 다음과 같습니다.이 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로 구현하려고합니다. 내 자바 코드는 :
BufferedImage img = null;
img = ImageIO.read(new File(filename));
byte[] bytes = ((DataBufferByte)img.getData().getDataBuffer()).getData();
String js = Base64.encodeBase64String(bytes);
이 코드 조각은 동일한 이미지 파일에 대해 동일한 문자열을 반환해야합니다. 그러나 그들은 다른 문자열을 반환하고 있습니다. 나는 이유를 알 수 없다. 누구든지 그것에 불을 붙일 수 있습니까? 코드의
당신은 내가 C# 하나와 같은 문자열을 반환하도록 내가 어떻게 자바 코드를 향상시킬 수있는 제안을 줄 수 있습니까? – th1rdey3
@ th1rdey3 : 이미지 파일이 이미 원하는 형식으로되어 있다고 가정 할 때 * 당장 가져온 코드 조각 중 하나 *를 선택하는 것이 좋습니다 (IMO). –
실제로 C# 코드를 구현해야합니다. 그래서 그것은 바꿀 수 없습니다. 동일한 결과를 생성 할 수 있도록 JAVA 코드를 변경해야합니다. – th1rdey3