반응형
Swift의 NSString에서 NSData 생성
궁극적으로 NSMutableURLRequest
with로 시도하고 HTTPBody
있지만 문자열 데이터 (에서 오는 UITextField
)를 사용 가능한 NSData
객체 로 가져올 수 없습니다 .
다른 방법으로가는이 방법을 보았습니다.
NSString(data data: NSData!, encoding encoding: UInt)
그러나 유스 케이스에 대한 문서를 찾을 수없는 것 같습니다. 필요한 경우 문자열을 다른 유형으로 넣을 수는 있지만 NSData
Swift 를 사용 하기위한 초기화 옵션은 내가 원하는 것 같습니다.
스위프트 3에서
let data = string.data(using: .utf8)
Swift 2에서 (또는 이미 NSString
인스턴스 가있는 경우)
let data = string.dataUsingEncoding(NSUTF8StringEncoding)
스위프트 1에서 (또는 당신이 신속한 경우 String
) :
let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)
또한 참고 data
인 Optional<NSData>
(변환이 실패 할 수 있기 때문에), 당신은 예를 들어, 그것을 사용하기 전에 랩을 해제해야합니다 그래서 :
if let d = data {
println(d)
}
스위프트 4 & 3
Swift 3에서 Data
객체에서 String
객체 생성 이 변경되었습니다. 이제 올바른 버전은 다음과 같습니다.
let data = "any string".data(using: .utf8)
여기에 매우 간단한 방법
let data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
// Checking the format
var urlString: NSString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)
// Convert your data and set your request's HTTPBody property
var stringData: NSString = NSString(string: "jsonRequest=\(urlString)")
var requestBodyData: NSData = stringData.dataUsingEncoding(NSUTF8StringEncoding)!
스위프트 4
let data = myStringVariable.data(using: String.Encoding.utf8.rawValue)
선택적 데이터를 만들지 않으려면 사용하는 것이 좋습니다.
let key = "1234567"
let keyData = Data(key.utf8)
신속한 5
let data = Data(YourString.utf8)
스위프트 4.2
let data = yourString.data(using: .utf8, allowLossyConversion: true)
참고 URL : https://stackoverflow.com/questions/24039868/creating-nsdata-from-nsstring-in-swift
반응형
'Programing' 카테고리의 다른 글
APC 캐시 항목을 지우는 방법? (0) | 2020.05.24 |
---|---|
Jenkinsfile (groovy)에서 변수로 쉘 명령의 출력을 얻는 방법은 무엇입니까? (0) | 2020.05.24 |
JSON 문자열을 맵으로 변환하는 방법 (0) | 2020.05.24 |
jQuery를 사용하여 두 번째 자식 얻기 (0) | 2020.05.24 |
메인 스크롤바를 항상 보이게 만들기 (0) | 2020.05.24 |