Swift:将用户输入的十六进制字符串转换为Unicode字符

4

我在转换用户输入的十六进制字符串(如“1F436”)为可处理的Unicode字符时遇到了问题。

通过阅读Swift文档,我学会了使用“print(\u{1F436})”打印Unicode字符,并使用for-in循环来确定字符串中Unicode字符的十进制值。

但是,我该如何从包含其十六进制数的字符串中创建Unicode字符变量呢?

1个回答

5
非常简单,就像这样:
let inputText = "1F436"
let character = Int(inputText, radix: 16).map{ Character(UnicodeScalar($0)) }

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接