Swift 5 中其他类型的 Codable? (非 JSON 码农)

Other kinds of Codable in Swift 5? (non-JSON Coders)

Apple/Swift 5 是否在 JSONEncoder/JSONDecoder 之外提供任何其他开箱即用的 Codable 序列化实现?

我知道我可以自己写,但我正在考虑将某些东西序列化到存储中,而 JSONEncoder 很方便,因为它是人类可读的,我可能可以通过以二进制序列化我的对象来压缩它。

每次我在网络上搜索 Codable 协议时,每篇文章都只谈论 JSON,这是唯一的序列化方法。

当然有 PropertyListEncoder 基本上是 xml:

struct SomeStruct: Codable { let someProperty: String }

try? PropertyListEncoder().encode(SomeStruct(someProperty: "someValue"))
try? PropertyListDecoder().decode(SomeStruct.self, from: data)