// Set a new type and creator:unsigned long type = 'TEXT';unsigned long creator = 'pdos';
如何从这样的单引号字符文字创建Int64(或正确的Swift等价物)?
类型:
public typealias AEKeyword = FourCharCodepublic typealias OSType = FourCharCodepublic typealias FourCharCode = UInt32我在我的Cocoa Scripting应用程序中使用它,它认为字符> 0x80正确
func OSTypeFrom(string : String) -> UInt { var result : UInt = 0 if let data = string.dataUsingEnCoding(NSMacOSRomanStringEnCoding) { let bytes = UnsafePointer<UInt8>(data.bytes) for i in 0..<data.length { result = result << 8 + UInt(bytes[i]) } } return result}
编辑:
另外
func fourCharCodeFrom(string : String) -> FourCharCode{ assert(string.count == 4,"String length must be 4") var result : FourCharCode = 0 for char in string.utf16 { result = (result << 8) + FourCharCode(char) } return result}
或者仍然很快
func fourCharCode(from string : String) -> FourCharCode{ return string.utf16.reduce(0,{ << 8 + FourCharCode()})}总结
以上是内存溢出为你收集整理的Swift相当于Objective-C FourCharCode单引号文字(例如’TEXT’)全部内容,希望文章能够帮你解决Swift相当于Objective-C FourCharCode单引号文字(例如’TEXT’)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)