【问题标题】:Serializing Font Object from C# and Deserializing on Java从 C# 序列化字体对象并在 Java 上反序列化
【发布时间】:2011-10-03 10:39:45
【问题描述】:

answer 使用@Elad 解决方案,我可以使用 C# 对字体进行序列化和反序列化,但我需要在 Java 中对其进行反序列化。有没有办法实现?

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

【问题讨论】:

  • “序列化字体”是指 字体的关键属性(大小、样式、系列等) - 还是您希望序列化实际字体?
  • 你确定字体对象在java环境中会有用吗?
  • @MarcGravell 是的,我的意思是序列化字体属性、大小、样式等。
  • @KonstantinPribluda 如果没有指定到 XML 中的字体,我将使用任何字体,这仅对 FontFamily 有效,因为可以从反序列化对象加载大小样式等。

标签: c# java serialization fonts


【解决方案1】:

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

【讨论】:

  • 是 java.awt.Font @claymore1977
  • 根据 java.awt.Font API 文档 (download.oracle.com/javase/6/docs/api/java/awt/Font.html),有一个构造函数接受一个 Map。我想你可以利用它来满足你的需要。
  • 好吧,我想到了另一种解决方案,但这超出了我对 Java 的经验,如果我可以使用类似于msdn.microsoft.com/en-us/library/… 的东西,它接受一个字体文件,那么传输字体文件不会很困难。
  • 使用地图有什么问题?另一方面,扔掉字体文件可能会起作用....
【解决方案2】:

您可以尝试使用协议缓冲区。

它的序列化形式是语言中立的,你可以在 C# 的序列化和 java 端的反序列化中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 2017-08-02
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多