gpt4 book ai didi

ruby - Elixir:String Force encode UTF-8

转载 作者:数据小太阳 更新时间:2023-10-29 08:03:25 26 4
gpt4 key购买 nike

我有一个用 ruby​​ 编写的 gem,它使用 google API 进行翻译,我正在将它“翻译”成 Elixir。

例如,我从 API 中得到一些这样的信息: api-data

今天在 Ruby 中我这样做:

  encoded = rawdata.force_encoding("UTF-8")

我想知道是否可以使用 Elixir 来“force_encode”(就像 Ruby 那样)?

更新解决方案

我根据你们的回答找到了解决方案,非常感谢!

由于 Elixir 将其作为二进制文件处理,这就是诀窍:我得到响应正文:body |> IO.iodata_to_binary ...

defmodule Request do
alias Extract
use HTTPotion.Base

def process_url(url) do
"https://translate.google.com/translate_a/" <> url
end

def process_response_body(body) do
body |> IO.iodata_to_binary |> Extract.extract
end
end

Here is entire code

最佳答案

当数据被标记为二进制但实际上是 UTF-8 时,您可以在 Ruby 中使用强制编码。在 Elixir 中,它们是同时存在的,因为所有的字符串都是二进制的,我们无论如何都不会标记它们。换句话说,您不需要强制编码

但是,如果数据不是 UTF-8 格式,那么您首先需要找到一种方法将其转换为 UTF-8。

关于ruby - Elixir:String Force encode UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com