Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#序列化字体对象并在Java上反序列化_C#_Java_Serialization_Fonts - Fatal编程技术网

从C#序列化字体对象并在Java上反序列化

从C#序列化字体对象并在Java上反序列化,c#,java,serialization,fonts,C#,Java,Serialization,Fonts,使用@Elad解决方案,我可以使用C#对字体进行序列化和反序列化,但我需要用Java对其进行反序列化。有没有办法做到这一点 如果有人有关于为任何其他对象执行此操作的好文章,这可能会有所帮助。在Elad的回答中,System.Drawing.Font被转换为XML,然后转换为纯二进制形式。在Java方面,从二进制反序列化为XML是非常简单的,但是从那以后,您必须知道您打算用XML做什么。您有想要/需要使用的java类吗?您可以尝试协议缓冲区 它的序列化形式与语言无关,您可以在C#上使用它进行序列化

使用@Elad解决方案,我可以使用C#对字体进行序列化和反序列化,但我需要用Java对其进行反序列化。有没有办法做到这一点


如果有人有关于为任何其他对象执行此操作的好文章,这可能会有所帮助。

在Elad的回答中,System.Drawing.Font被转换为XML,然后转换为纯二进制形式。在Java方面,从二进制反序列化为XML是非常简单的,但是从那以后,您必须知道您打算用XML做什么。您有想要/需要使用的java类吗?

您可以尝试协议缓冲区


它的序列化形式与语言无关,您可以在C#上使用它进行序列化,在java端使用它进行反序列化。

所谓“序列化字体”,是指字体的关键属性(大小、样式、系列等)-或者您希望序列化实际字体吗?您确定font对象在java环境中有用吗?@MarcGravel是的,我的意思是序列化字体属性、大小、样式等。@KonstantinPribluda如果没有指定为XML的字体,我将使用任何字体,这仅对FontFamily有效,因为可以从反序列化对象加载大小样式ect。是的java.awt.Font@claymore1977根据java.awt.Font API doc()有一个接受映射的构造函数。我想你可以利用它来满足你的需要。我考虑过另一个解决方案,但这超出了我对Java的经验,如果我可以使用类似于accept的字体文件,那么传输字体文件就不难了。使用地图有什么错?另一方面,到处乱扔字体文件可能有用。。。。