【问题标题】:How to print Unicode Characters in Swift如何在 Swift 中打印 Unicode 字符
【发布时间】:2018-08-30 07:42:16
【问题描述】:

我想打印一些特殊符号的 Unicode 字符,如 `,',@,$ 所以请告诉我是否有任何方法可以将字符串转换为 unicode 字符,如 \u00e2...

谢谢,

【问题讨论】:

  • 您的目标是访问字符串的字符,还是给定一串 unicode 字符,获取它们的 unicode 描述符,例如给定"â" 接收"\u00e2"?

标签: ios iphone swift swift3 character-encoding


【解决方案1】:

您可以获取字符串 unicodeScalars 值,转换为十六进制并用前导零填充它:

extension String {
    var unicodes: [String] {
        return unicodeScalars.map{ String($0.value, radix: 16) }
    }
    func paddingToLeft(maxLength: Int) -> String {
        return repeatElement("0", count: max(0,maxLength-count)) + self
    }
}

let str =  "\u{00e2}"
let hexa = str.unicodes.first!
print(hexa.paddingToLeft(maxLength: 4))  // "00e2\n"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2018-06-22
    相关资源
    最近更新 更多