gpt4 book ai didi

elixir - 将单个字符串转换为其代码点

转载 作者:行者123 更新时间:2023-12-01 15:11:33 26 4
gpt4 key购买 nike

我知道我可以使用 ?a 语法获取字符的代码点。

iex> ?a
97

但是当 a 是二进制文件 "a" 时呢?在这种情况下如何获取代码点?

最佳答案

注意 UTF-8 分解的形式。调用 String.normalize/2 总是更安全进一步处理之前的输入(传递 :nfc 作为第二个参数。)

人们可能会期待

<<cp::utf8>> = "á"

工作,但它提高了,而

<<cp::utf8>> = "á"

工作得很好。上面没有错字,第一个例子中的 "á" 和第二个例子中的 "á" 是不同。

"á" == "á"
#⇒ false

为了安全地匹配组合和分解,无论如何,可以预先将其明确规范化为 组合 形式。

with <<cp::utf8>> <- String.normalize("á", :nfc),
do: cp
#⇒ 225

以上所有示例均可复制粘贴。

"á"
|> String.normalize(:nfc)
|> String.to_charlist()
|> hd()
#⇒ 225

但是

"á"
|> String.to_charlist()
|> hd()
#⇒ 97

关于elixir - 将单个字符串转换为其代码点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54731429/

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