我在WebAssembly中看到的数据部分的每个例子都使用一个字符串,即
(data (i32.const 16) "Hello World")
如何将这些部分用于二进制数据?我怎么能做一些等同于...的事情。
(data (i32.const 16) 0x00 0x01 0x02 0x03)
我必须使用i32.store
吗?
答案 0 :(得分:2)
我最终通过在字符串中使用反斜杠转义字节来解决此问题。我不知道是否有更好的办法。
(data (i32.const 16) "\00\01\02\03")
答案 1 :(得分:1)
WebAssembly规范的部分为details the WAT text format。
数据部分defines data for a given memory index and offset by a string。此字符串的格式指定为elsewhere in the specification。它是一种UTF8编码,具有少量转义序列∖hh
,用于编码选项卡,换行符和\u
等编码十六进制字节的内容。
这可能看起来不那么紧凑,但是,当编译为wasm时,它被存储为一个字节序列。