我试图将标题(NSData的第一个字节)与字符串进行比较,我可以成功打印字符串,但比较不起作用。
这是我尝试过的:
var dataHeader:NSString = NSString(bytes: data.bytes, length: min(data.length, 8), encoding: NSASCIIStringEncoding)!
println(dataHeader)
result: PK
" PK"的ASCII是0x50 0x4B。
当我尝试以下操作时,没有任何反应:
if dataHeader == "PK" {
}
也许我是一个菜鸟,但我没有任何想法,所以有没有人知道如何解决这个问题? 我猜它与字符串编码有关,但经过大量的研究后,我仍然无法弄明白。
感谢任何帮助,谢谢!
答案 0 :(得分:3)
" PK&#34>之后是否还有其他非打印字符?如果这是二进制数据?字符串dataHeader
的长度是什么?
如果之后还有其他有趣的字符,您可以截断字符串或使用NSString的hasPrefix:
方法:
if dataHeader.hasPrefix("PK") {
// do something
}