How to convert NSString to bytes

泪湿孤枕 提交于 2019-11-30 07:56:27

问题


NSString *test = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";

How to convert this string to bytes?


回答1:


NSData *bytes = [test dataUsingEncoding:NSUTF8StringEncoding];



回答2:


Do you want something like this:

NSString *test=@"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);



回答3:


Swift 1.x

extension String {
    var bytes: [Byte] {
        return Array(utf8)
    }
}

Swift 2.1.1

extension String {
    var bytes : [UInt8] {
        return Array(utf8)
    }
}

Xcode 9 • Swift 4 or later

extension StringProtocol {
    var bytes: [UInt8] { return .init(utf8) }
    var data: Data { return .init(utf8) }
}

Xcode 11 • Swift 5.1 or later

extension StringProtocol {
    var bytes: [UInt8] { .init(utf8) }
    var data: Data { .init(utf8) }
}

testing:

"ABCDEFGHIJKLMNOPQRSTUVWXYZ".bytes  // [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]


来源:https://stackoverflow.com/questions/881482/how-to-convert-nsstring-to-bytes

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!