如何将字符串值从 JavaScript 传入 Wasm/Rust
本文所用的所有资源都可以在 https://github.com/second-state/wasm-learning/tree/master/browser/hello 中找到
系列教程:
在前面的教程中,我们提到了 WebAssembly 应用程序通常由两部分组成:
- 运行在 WebAssembly 虚拟机内部的字节码程序
- 调用 WebAssembly 程序的主机应用程序
然而,轻量级的 WebAssembly 虚拟机只支持非常有限的数值数据类型。 另一方面,主机应用程序可能需要处理复杂的数据类型。 字符串就属于这种复杂的数据类型。
字符串是复杂的,因为它包含大小未知和结构未知的数据(即编码)。 主机应用程序不能直接在 WebAssembly 之间传递字符串数据。 它必须将字符串值与数值和数组相互转换。