一尘不染

从变量中打印unicode字符(快速)

swift

我有一个找不到解决方案的问题。我有一个字符串变量,其中包含Unicode“ 1f44d”,我想将其转换为Unicode字符👍。

通常一个人会做这样的事情:

println("\u{1f44d}") // 👍

这是我的意思:

let charAsString = "1f44d" // code in variable
println("\u{\(charAsString)}") // not working

我尝试了其他几种方法,但是以某种方式,对于我而言,隐藏在此魔术背后的工作方式仍然隐藏。

人们应该想象charAsString的值来自一个API调用或另一个对象。


阅读 254

收藏
2020-07-07

共1个答案

一尘不染

这可以分两个步骤完成:

  1. 转换charAsStringInt代码
  2. 将代码转换为Unicode字符

第二步可以完成,例如这样

var code = 0x1f44d
var scalar = UnicodeScalar(code)
var string = "\(scalar)"
2020-07-07