duangsuse::Echo
我死了,今天肯定做不完的
但是,这里所认为的 AXML 文件基本结构,我们之前写的复用库里可全都包含在内呦。上面的例子就是经典的
Cond(flag, item), 这里 flag = int32我最后考虑了一下,好像 Writer 还是必须支持 position 的…… Java 的 ByteArrayOutputStream 在内部就保留有…… 然后就可以有 aligned 这个 pattern
为了 Cond 的 flag 在一些极端情况下的可用性(比如 flag 的 index 是从 1000+ 开始编列的)
必须有一个 map 的 pattern helper,来把输出映射到特定值,再映射回来。
为了 Cond 的 flag 在一些极端情况下的可用性(比如 flag 的 index 是从 1000+ 开始编列的)
必须有一个 map 的 pattern helper,来把输出映射到特定值,再映射回来。
aligned 不应该作为一个 pattern 出现,因为它实在不好取类型,Nothing? 是错误的办法
但可以作为类似 EndianSwitch (PrePost) 的东西出现
但可以作为类似 EndianSwitch (PrePost) 的东西出现
任何可能出错的地方都会出错……
当时我还检查了很多遍,自以为该 update 某变量的所有地方都检查了,看来好眼睛不如好实例代码、熟练的 IDE 分析工具使用,重点是难以抓住的,肯定要多测试。
当时我还检查了很多遍,自以为该 update 某变量的所有地方都检查了,看来好眼睛不如好实例代码、熟练的 IDE 分析工具使用,重点是难以抓住的,肯定要多测试。
现在 Int16/Int32 vs. Short/Int 又成问题了,唉,项目里真的没办法完全统一啊
目前和二进制数据模式相关的基本是 Int8 式位长名字,无关的则是 Byte 这样的 kotlin 式名字
目前和二进制数据模式相关的基本是 Int8 式位长名字,无关的则是 Byte 这样的 kotlin 式名字
但我毫无办法,用一元正号是有优雅性的,它在 Scala 里是 generic type parameter covariant 的 notation,
+int8 给人感觉是『更大层面的 int8』,也就是超集 kotlin.Any 层面的东西。所以,最关键的事情是先弄明白它的文件结构到底是怎么定义的,硬编码可耻。
死算 offset 的解析器和纯流式序列化器是完全不一样的,我们可以做得好看的多
死算 offset 的解析器和纯流式序列化器是完全不一样的,我们可以做得好看的多