2
A
回答
1
儘管java.awt.Image
類不是(不實現)java.io.Serializable
,javax.swing.ImageIcon
是。正因爲如此,你可以按如下序列化:
ImageIcon myImage; // declare somewhere
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(myImage);
byte[] theBytes = baos.toByteArray();
StringBuffer buf = new StringBuffer();
for (byte b : theBytes) {
buf.append((char) b); // cast to char, then append
}
String theString = b.toString();
我會讓你知道如何扭轉這種局面,但這裏有一個提示:不是OutputStream
類,使用InputStream
類。
1
你可以讀取圖像的字節到byte[]
,然後使用Base64編碼byte[]
,Here是如何。
1
Base64將是在字符串中可靠傳輸二進制數據(如圖像)的最有效方法。
然而,由於您要求更小的東西,你可以考慮base64編碼圖像,然後壓縮得到的線,然後base64編碼是...
它爲您節省了幾個字節,但不是很多。在某些情況下,甚至可能會使結果更大。
如果你有控制服務器和客戶端,你應該考慮創建另一個接口,允許你發送字節。
相關問題
- 1. 將圖像序列化爲字符串
- 2. 將對象序列化爲字符串
- 3. 將MongoDB ObjectId序列化爲字符串
- 4. 將XML序列化爲字符串
- 5. 將對象序列化爲字符串
- 6. 將System.Array序列化爲XML字符串
- 7. JSON.Net將結構序列化/反序列化爲字符串
- 8. 將JSON字符串反序列化爲字符串數組
- 9. 將JSON字符串反序列化爲字符串數組
- 10. 將位圖圖像序列化爲base64?
- 11. 無法反序列化爲字符串
- 12. C#Binaryformatter反序列化爲字符串?
- 13. 使用Oj.dump序列化時將符號轉換爲字符串
- 14. 序列化字符串的
- 15. 序列化TChan字符串
- 16. 序列化字符串C
- 17. 反序列化字符串
- 18. python序列化字符串
- 19. 將json字符串反序列化爲一般類型列表
- 20. Restsharp - 如何將枚舉列表序列化爲字符串
- 21. 將空字符串反序列化爲列表<string>
- 22. 下載圖像,序列化爲base-64字符串,轉換爲ImageSource
- 23. 序列化字符串作爲字符串
- 24. 反序列化字符串考慮空單爲空字符串
- 25. 將字典值序列化爲字符串
- 26. 將json字段反序列化爲與gson的純字符串
- 27. 將地圖字符串格式化爲數字列表
- 28. gwt將對象從字符串序列化並反序列化爲字符串(僅客戶端)
- 29. 將字符串轉換爲圖像
- 30. 將HTML字符串轉換爲圖像
爲什麼你想「序列化圖像並將其傳遞給字符串」? – CommonsWare
看看這個問題:http://stackoverflow.com/questions/2781545/convert-image-to-base64-string-using-java – Marcelo
我需要使用XML將它發送到Web服務。 我需要將圖像發送到(圖片序列化) field> 以及許多其他標籤及其內容。 –
JulioStyle88