본문으로 바로가기

[Swift] String <-> Hexdecimal String

category 코딩공부/Swift 2020. 7. 11. 11:48

안녕하세요 pixui 입니다.

 

오늘은 swift에서 string 을 hexdemical 로 변환하는 방법을 소개하려고 합니다.

뭐 일반적인 로직을 짜는데 필요한 형변환 법은 아니지만, 그래도 BLE 같은 하드웨어와

통신을 위해서 필요할 때가 종종 있기는 한데, 어딜 뒤져봐도 속시원하게 소개하는 곳이 없기도하고

 

저도 자료로서 기억해 놓기 위해서 글로 옮겨 볼려고 합니다.

필요하신 분들은 유용하게 사용하시기 바랍니다.

 

코드는 Swift 5.1 버전에서 테스트 되었음을 참고해주시기 바랍니다.

 

String -> Hexdecimal String

// string -> hexdemical String
func strToHexDemical( _str : String) -> String {

  var hexStr = ""
  let data = Data(_str.utf8)
  hexStr = data.map{ String(format:"%02x", $0) }.joined()

  return hexStr
}

 

Hexdecimal String -> String

func hexToStr(text: String) -> String {

  let regex = try! NSRegularExpression(pattern: "(0x)?([0-9A-Fa-f]{2})", options: .caseInsensitive)
  let textNS = text as NSString
  let matchesArray = regex.matches(in: textNS as String, options: [], range: NSMakeRange(0, textNS.length))
  	
  let characters = matchesArray.map {
  	Character(UnicodeScalar(UInt32(textNS.substring(with: $0.range(at: 2)), radix: 16)!)!)
  }

  return String(characters)
}

 

 

 

'코딩공부 > Swift' 카테고리의 다른 글

[Swift] String <-> Hexdecimal String  (0) 2020.07.11
#5 Swift 딕셔너리  (0) 2016.09.20
#4 Swift 튜플( tuple), 배열  (0) 2016.05.30
#3 Swift 변수, 상수, 문자열  (0) 2016.05.30
#2 Swift 기초  (0) 2016.05.25
#1 Swift 개요  (0) 2016.05.24

댓글을 달아 주세요