汉字编码为 swift
Chinese character encoding with swift
let chineseWord = "好"
let encodedWord = chineseWord.dataUsingEncoding(NSUTF8StringEncoding)! // outputs <e5a5bd>
我希望输出为 %e5%a5%bd
但 XCode 表示 encodedWord
是 NSData
类型,因此我无法遍历它并添加%
符号,因为它不是字符串。有没有办法将 NSData
转换为字符串?而且,如果不是太麻烦的话,有人可以简要解释一下 NSData
实际上是什么吗?我看了文档,但我无法真正理解这个概念。
如果 NSData 对象中数据的字符串表示形式可用,您可以通过调用 "debugDescription" 来获取它。
let str = encodedWord.debugDescription
然后您可以根据需要在此字符串上循环或执行任何其他操作。
for char in str {
println(char)
}
let chineseWord = "好"
let encodedWord = chineseWord.dataUsingEncoding(NSUTF8StringEncoding)! // outputs <e5a5bd>
我希望输出为 %e5%a5%bd
但 XCode 表示 encodedWord
是 NSData
类型,因此我无法遍历它并添加%
符号,因为它不是字符串。有没有办法将 NSData
转换为字符串?而且,如果不是太麻烦的话,有人可以简要解释一下 NSData
实际上是什么吗?我看了文档,但我无法真正理解这个概念。
如果 NSData 对象中数据的字符串表示形式可用,您可以通过调用 "debugDescription" 来获取它。
let str = encodedWord.debugDescription
然后您可以根据需要在此字符串上循环或执行任何其他操作。
for char in str {
println(char)
}