【问题标题】:Loop through all Unicode extended grapheme clusters循环遍历所有 Unicode 扩展字素簇
【发布时间】:2014-09-16 14:59:03
【问题描述】:

这个问题解决了我的主要目标,但即使能够遍历所有 unicode 标量也可能是值得的。

实际上,我希望能够执行以下操作:

for i in 0x0000...0xFFFF
{
    println("\u{i}")
}

显然范围更大。您似乎无法将字符串插入 /u 转义字符,所以我不知道该怎么做。

【问题讨论】:

  • 您可以这样做: println("\\u{\(i)}") 打印出值 - 即 \u{0} \u{1} 等 注意两个反斜杠在你之前
  • 看起来并没有实际打印出 unicode,我只是得到:\u{4096}\u{4097}\u{4098}\u{4099}\ u{4100}\u{4101}\u{4102}\u{4103}\u{4104}\u{4105}\u{4106}\u{4107}\u{4108}\u{4109}\ u{4110}\u{4111}\u{4112}
  • 是的,这就是我在“即”之后所说的。我以为你问的是用 \u 插值字符串

标签: unicode swift


【解决方案1】:

您可以从UInt8UInt16UInt32 创建UnicodeScaler,然后将其打印出来:

for i in 0x1000...0x1009 {
    let c = UnicodeScalar(i)
    print(c)
}

输出:

က ခ ဂ ဃ င စ ဆ ဇ ဈ ဉ

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 2013-01-08
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多