当前位置: 首页 > 面试题库 >

快速通过Unicode将国家代码转换为表情符号标志

曹光霁
2023-03-14
问题内容

我正在寻找一种快速的方法来使类似:

let germany = "DE"

进入

let flag = "\u{1f1e9}\u{1f1ea}"

即, 我一直在寻找字符串的Dto 1f1e9Eto 的映射,但这返回一个整数。1f1ea``.utf8

FWIW我的总体目标是能够采用任意国家/地区代码并获得相应的表情符号标志。

编辑:我也很好,只要持有一个做此映射的表(如果有的话)。我在附近搜索,但没有找到。


问题答案:

这是将两个字母的国家/地区代码转换为其表情符号标志的通用公式:

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")

编辑 糟糕,无需传递嵌套的String.UnicodeScalarView结构。事实证明String
append恰好有一个用于此目的的方法。所以:

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附加到字符串的功能,并且使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)
}


 类似资料:
  • 问题内容: 这里有国家代码列表,我需要在每个代码上附加表情符号标志。有没有办法从中提取unicode或为国家/地区代码找到表情符号? 这个npm示例看起来与我的目标相似(但使用十六进制作为输入)https://github.com/thekelvinliu/country-code- emoji/blob/master/src/index.js 问题答案: 此代码段对我有用。只需替换为您喜欢的任何

  • 我正在使用google库将国际电话号码转换为国家号码。 的一个示例是919744012345 我期望的是“9744012345”(请参阅印度的移动电话号码),但我得到的是带前导零的“09744012345”。 如何正确转换国际电话号码?

  • 问题内容: 在下面查看我的代码。我有一个包含Unicode字符代码的JSON字符串。我将其转换为Java对象,然后将其转换回JSON字符串。但是,您可以看到输入和输出JSON字符串不匹配。是否可以使用Gson将我的对象转换为原始JSON字符串?我想和一样。 问题答案: 不幸的是,Gson似乎不支持它。所有JSON输入/输出分别集中在Gson(从2.8.0开始)和。可以使用其私有方法读取Unicod

  • 在我的生产级应用程序中,我正在研究一些与unicode字符相关的问题,比如中文/日语字符串。 我的应用程序有一个启动程序和一个配置文件,它设置了运行JVM可以使用的所有参数。此配置文件作为命令行参数的一部分传递。 所以我创建了一个小程序来测试这个场景,该程序的工作是将一个文件路径作为命令行参数的一部分,打印它并读取该文件的内容。在运行之前,它看起来与上面类似,即“some/path/和/????.

  • 问题内容: 如何使用Swift 将地址转换为坐标?我还没有代码,我正在寻找解决方案,但尚未找到任何人。 谢谢。 问题答案: 这很容易。 您还需要添加和导入CoreLocation框架。

  • 问题内容: 我有一个映射到Swift的C函数定义为: 我正在尝试传递函数的路径并尝试过: 但是在path [i]上我得到了错误: ‘下标’不可用:不能下标Int范围的字符串 也不 也不管用 除了无法正常工作外,我认为还必须有一种更好,更轻松的方法来做到这一点。以前使用CString在StackOverflow上的答案似乎不再起作用。有什么建议? 问题答案: 使用CString在StackOverf