【发布时间】:2015-08-29 01:06:02
【问题描述】:
我无法将用户输入的十六进制字符串(即“1F436”)转换为我可以使用的 Unicode 字符。
通过阅读 Swift 文档,我学会了如何使用 'print(\u{1F436})' 打印 unicode 字符,以及如何使用 for-in 循环计算字符串中 unicode 字符的十进制值。
但是如何从包含十六进制数字的字符串创建一个 unicode 字符变量?
【问题讨论】:
我无法将用户输入的十六进制字符串(即“1F436”)转换为我可以使用的 Unicode 字符。
通过阅读 Swift 文档,我学会了如何使用 'print(\u{1F436})' 打印 unicode 字符,以及如何使用 for-in 循环计算字符串中 unicode 字符的十进制值。
但是如何从包含十六进制数字的字符串创建一个 unicode 字符变量?
【问题讨论】:
很简单,就像这样:
let inputText = "1F436"
let character = Int(inputText, radix: 16).map{ Character(UnicodeScalar($0)) }
character 是可选的Character,取决于号码是否解析成功
符号“\u{1F436}”只能由程序员使用,因为它会在编译时转换为实际字符
【讨论】: