我有一个表示 Unicode 代码点的字符串,例如"272d"
. 我怎么把它变成"✭"
?
Elixir 肯定理解 Unicode:
iex> << 10029 :: utf8 >>
"✭"
iex> "x{272d}"
"✭"
但我需要一个接收四个字符并返回 Unicode 字符串的函数:
def from_code_point(<< code_point :: size(32) >>) do
???
end
或者可能
def from_code_point(<< a, b, c, d >>) do
???
end
我也试过这个作为一个宏:
defmacro from_code_point(<< code_point :: size(32) >>) do
quote do
"x{unquote(code_point)}"
end
end
但这只是回报"x{unquote(code_point)}"
。