swift学习笔记 - Unicode转码

本文介绍了一种使用Swift实现的Unicode转码方法。作者在新项目中遇到字符串转码问题,通过扩展String类型,实现了从Objective-C到Swift的Unicode转码逻辑迁移。此方法能够有效处理特殊字符和转义序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在用swift写了一个新项目,发现String和NSString还是有很大不同的,在Unicode转码上遇到了问题,我写了一个扩展,把以前OC的转码用swift重写了一遍,发现也能用,下面把我用swift做Unicode转码的代码贴在这里,亲测好用~~

extension String {
    var unicodeStr:String {
        let tempStr1 = self.stringByReplacingOccurrencesOfString("\\u", withString: "\\U")
        let tempStr2 = tempStr1.stringByReplacingOccurrencesOfString("\"", withString: "\\\"")
        let tempStr3 = "\"".stringByAppendingString(tempStr2).stringByAppendingString("\"")
        let tempData = tempStr3.dataUsingEncoding(NSUTF8StringEncoding)
        var returnStr:String = ""
        do {
            returnStr = try NSPropertyListSerialization.propertyListWithData(tempData!, options: .Immutable, format: nil) as! String
        } catch {
            print(error)
        }
        return returnStr.stringByReplacingOccurrencesOfString("\\r\\n", withString: "\n")
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值