我有一个CString
let parameterCString = (parameter as NSString).UTF8String
现在我想找到我想要使用的参数CString的长度
let UTF8parameter = NSData(bytes: parameterCString, length: )
并且这也意味着相同
let UTF8parameter:NSData = parameter.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
答案 0 :(得分:3)
您可以使用strlen()函数。
let aString:String = "myString"
let aCString = aString.cStringUsingEncoding(NSUTF8StringEncoding)
let length = strlen(aCString)// returns a UInt
let UTF8parameter = NSData(bytes: aCString, length: length)
答案 1 :(得分:1)
如果你想要它的UTF8,最简单的方法是
public class Email {
...
public static implicit operator Email(String value) {
if (...) // validate value here
return null; // <- not an actual Email
// Email
return new Email(value);
}
}
....
Email email = "SomeAddress@SomeServer.com";
if (email != null) {
...
}
如果你想在结尾处使用空字节
let param = "my Swïft stríng"
let utf8Bytes = [UInt8](param.utf8)
let utf8Length = utf8Bytes.count // 17
let utf8Data = NSData(bytes: utf8Bytes, length: utf8Length)