0

我需要用 Java 表示 DirectX D3DCOLOR(它是 32 位 ARGB)。

除了对它进行字符串编码以通过 XML-RPC 传输到 DirectX 应用程序之外,我不需要对其执行任何操作。它很可能以类似的方式进入我的 Java 系统,即作为编码字符串。

哪种字符串形式会被认为是“规范的”,或者更确切地说,哪种字符串表示对我的 DirectX 客户端解析最友好?

因此,我应该在 Java 中使用什么类型来捕获 D3DCOLOR?显而易见的答案是:

  • 将其保留为java.lang.String,并且不要费心验证它
  • 包装一个java.lang.Long并实现一些toString()方法

两者似乎都不完全令人满意,但我想这取决于客户希望我如何序列化它。

4

1 回答 1

0

考虑到 ARGB 通道被限制为单个字节,它们通常存储为一个byte[]或一些等效大小的结构。一个明显的等价物是 4 字节的 int/uint。当您考虑可以从 DWORD 构造D3DXCOLOR 时,这是双重有用的。

编辑:尽管 Java 不支持无符号,但这并不重要,因为 C++ 强制转换会使它变回来。

于 2013-07-02T12:40:31.227 回答