佚名通过本文主要向大家介绍了swift 遍历字符串,swift 字符串,swift 字符串长度,taylor swift,swift等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:mySQL遍历字符串 swift字符串解码的问题
描述:

下图为可以正常编码

解决方案1:
描述:
初步尝试swift,就遇到了一个问题,十多个小时仍然没有解决
这是测试代码
//print("Hello, World!") let CONTEXT_LIST_URL:String = "http://192.168.0.218:8080/xxx/api/context/list"; let url:NSURL = NSURL(string: CONTEXT_LIST_URL)! do{ var data = try NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding) print(data) } catch{ let nsError = error as NSError print(nsError.localizedDescription) }异常信息
The file “list” couldn’t be opened using text encoding Unicode (UTF-8). Program ended with exit code: 0
由于我的服务端测试环境是windows平台,输出的字符无法完全解析emoji的字符,导致部分内容出现乱码
乱码如下图
下图为可以正常编码

现在,我使用swift请求获取输出,将得到的NSData使用utf8的编码解析成字符串,非常令人苦恼的是,NSString在执行的过程中一旦遇到无法解析的编码,直接返回为nil?是否可以尝试逐个替换掉无法解析字符,想想效率太低不想尝试。有哪些方式可以忽略掉其中的非utf-8编码?或者有没有容错机制?
希望熟悉swfit的朋友能够帮到我,非常感谢!
解决方案1:
粗略看了下NSString的API文档,都是遇到无法正确解析的就返回错误,所以从swift端很难办。而且,通常从程序设计的角度来说,由接收端来进行容错处理本来就不合适,数据提供方都不能保证数据的正确性,你又怎么能够要求接收端来保证呢?所以,最好的办法还是从服务端修改吧。
解决方案2:不懂帮顶