2016-10-20 2 views
2

스위프트에서 문자열을 바이너리로 변환하는 방법이 있습니까?문자열을 신속하게 2 진수로 변환 하시겠습니까?

SO에서 this link이 발견되었지만 소수점 만 처리합니다. 특수 문자와 문자도 변환하려고합니다.

알려진 ASCII 문자의 배열을 작성하여 비교하려고 시도했지만 (문자로 작동) 특수 문자를 비교하는 데 문제가 발생했습니다.

응답 해 주셔서 감사합니다.

+0

무엇 문자열에 들어 있습니다. 그럼 거기에서 2 단계로 이동합니다 ... – AMAN77

답변

6

사용 func data(using encoding: String.Encoding, allowLossyConversion: Bool = default) -> Data?

예 :

스위프트 3

let string = "The string" 
let binaryData: Data? = string.data(using: .utf8, allowLossyConversion: false) 

편집 : 또는 대기, 당신은 당신의 데이터 또는 0/1의 문자열의 이진 표현을해야합니까?

편집 : 같은 0/1 사용 무언가의 문자열을 :

let stringOf01 = binaryData?.reduce("") { (acc, byte) -> String in 
    acc + String(byte, radix: 2) 
} 

편집 : 스위프트 2 내가 상관없이 아래로 하나의 제로의에 캐릭터를 깰 할

let binaryData = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) 
+0

예 0101010 좀 스타일 – AMAN77

+0

얻으려고했다 swift3에 대한 위대한 작품 :) 공익의 문제로 당신은 아마 어떻게 swift2에서 완료되었을 것이라고 알고 있니? 게다가? – AMAN77

+0

@ AMAN77,'Data -> NSData','.data (using : ... -> .dataUsing (...'), 그냥 롤백 이름 – user28434

관련 문제