Swift:用户输入的十六进制字符串到unicode字符

Sam*_* S. 4 string unicode swift

我在将用户输入的十六进制字符串(即“1F436”)转换为我可以使用的 unicode 字符时遇到问题。

通过阅读 Swift 文档,我学习了如何使用 'print(\u{1F436})' 打印 unicode 字符,以及如何使用 for-in 循环计算出字符串中 unicode 字符的十进制值。

但是,如何从包含十六进制数字的字符串创建 unicode 字符变量呢?

Kam*_*xom 5

很简单,就像这样:

let inputText = "1F436"
let character = Int(inputText, radix: 16).map{ Character(UnicodeScalar($0)) }
Run Code Online (Sandbox Code Playgroud)

character是可选的Character,取决于数字是否成功解析

符号“\u{1F436}”只能由程序员使用,因为它在编译时被转换为实际字符