首页 文章

如何使用Fable(F#)进行base64编码?

提问于
浏览
2

我使用Fable.PowerPack的FetchAPI来制作基本的身份验证应用程序,但我遇到麻烦,因为我无法进行base64编码 .

例如,我写了这样的代码,

let base64enc str =
    str
    |> Seq.map byte
    |> Array.ofSeq
    |> System.Convert.ToBase64String

但是,会发生以下错误 .

Error FABLE: Can not find replacement for System.Convert.ToBase64String

有什么办法吗?

1 回答

  • 3

    我认为JavaScript btoa function可以满足您的需求 . 在Fable中使用它的最简单,最快捷的方法是使用 Emit 属性:

    [<Emit("btoa($0)")>]
    let toBase64String (bytes:byte[]) : string = failwith "JS"
    

    .NET方法和JS函数之间可能存在一些细微的差别,在这种情况下,您可能需要自己重新实现这些 .

    此外,这听起来像是Fable可以支持的东西 - .NET操作的替换通常在Replacements.fs file中定义,如果您有兴趣发送拉取请求以添加 ToBase64String 和其他人的映射,那将是惊人的!

相关问题