let germany = "DE"
成
let flag = "\u{1f1e9}\u{1f1ea}"
即,D到1f1e9和E映射到1f1ea是什么
我正在查看.utf8的字符串,但这返回一个整数.
FWIW我的一般目标是能够使用任意国家代码并获得相应的表情符号标志.
编辑:我也很好,只要持有一个表,做这个映射,如果它可用的地方.我Google了,但没有找到它.
这是一个将两个字母的国家/地区代码转换成其表情符号标志的通用公式:func flag(country:String) -> String { let base = 127397 var usv = String.UnicodeScalarVIEw() for i in country.utf16 { usv.append(UnicodeScalar(base + Int(i))) } return String(usv)}let s = flag("DE")
编辑Ooops,不需要通过嵌套的String.UnicodeScalarVIEw结构体.事实证明,String是一个追加方法,正是为了这个目的.所以:
func flag(country:String) -> String { let base : UInt32 = 127397 var s = "" for v in country.unicodeScalars { s.append(UnicodeScalar(base + v.value)) } return s}
编辑再次,在Swift 3中,他们将能够将UnicodeScalar附加到String的功能,并使UnicodeScalar初始化器可用(Xcode 8种子6),因此现在看起来像这样:
func flag(country:String) -> String { let base : UInt32 = 127397 var s = "" for v in country.unicodeScalars { s.unicodeScalars.append(UnicodeScalar(base + v.value)!) } return String(s)}总结
以上是内存溢出为你收集整理的Swift通过unicode将国家代码转换成表情符号标志全部内容,希望文章能够帮你解决Swift通过unicode将国家代码转换成表情符号标志所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)