투케이2K

66. (swift/xcode) [유틸 파일] string to byte (data) 변환 수행 본문

Swift

66. (swift/xcode) [유틸 파일] string to byte (data) 변환 수행

투케이2K 2022. 4. 2. 21:21

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [String to Byte (Data) 변환 수행 메소드]
    func stringToByte(string: String) -> Data {
        
        /*
        // -----------------------------------------
        [stringToByte 메소드 설명]
        // -----------------------------------------
        1. string 문자열 데이터를 byte (data) 값으로 반환
        // -----------------------------------------
        2. 호출 방법 : C_Util().stringToByte(string: "hello")
        // -----------------------------------------
        3. 리턴 반환 : Data 값 반환 실시
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData : Data = Data()
        var byteStr = ""
        
        // [인풋 데이터 널 체크 수행 실시]
        if string != nil
            && string.count>0
            && string != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && string.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && string.isEmpty == false {
            
            // [리턴 변수에 삽입 실시]
            returnData = string.data(using: .utf8)!
            
            // [바이트 배열 값 확인 실시]
            byteStr = "["
            for i in stride(from: 0, through: returnData.count-1, by: 1) {
                
                byteStr += String(describing: returnData[i]) // [개별 바이트 값을 삽입]
                
                if i != returnData.count-1 { // [배열 형태로 찍기 위함]
                    byteStr += ", "
                }
            }
            byteStr += "]"
        }
        
        // [로그 출력 실시]
        print("")
        print("====================================")
        print("[C_Util >> stringToByte() :: string 문자열 데이터를 byte (data) 값으로 반환 실시]")
        print("-------------------------------")
        print("input :: \(string)")
        print("-------------------------------")
        print("return [length] :: \(returnData)")
        print("-------------------------------")
        print("return [data] :: \(byteStr)")
        print("====================================")
        print("")
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
    
    
    
    
    
    // MARK: - [Byte (Data) To String 변환 수행 메소드]
    func byteToString(data: Data) -> String {
        
        /*
        // -----------------------------------------
        [byteToString 메소드 설명]
        // -----------------------------------------
        1. Byte (Data) 데이터를 String 값으로 반환
        // -----------------------------------------
        2. 호출 방법 :
         var dataValue : Data = Data()
       
         dataValue.append(104)
         dataValue.append(101)
         dataValue.append(108)
         dataValue.append(108)
         dataValue.append(111)
         
         C_Util().byteToString(data: dataValue)
        // -----------------------------------------
        3. 리턴 반환 : String 값 반환 실시
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = ""
        var byteStr = ""
        
        // [인풋 데이터 널 체크 수행 실시]
        if data != nil
            && data.count>0
            && data.isEmpty == false {
            
            // [리턴 변수에 삽입 실시]
            returnData = String(decoding: data, as: UTF8.self)
            
            // [바이트 배열 값 확인 실시]
            byteStr = "["
            for i in stride(from: 0, through: data.count-1, by: 1) {
                
                byteStr += String(describing: data[i]) // [개별 바이트 값을 삽입]
                
                if i != returnData.count-1 { // [배열 형태로 찍기 위함]
                    byteStr += ", "
                }
            }
            byteStr += "]"
        }
        
        // [로그 출력 실시]
        print("")
        print("====================================")
        print("[C_Util >> byteToString() :: Byte (Data) 데이터를 String 값으로 반환 실시]")
        print("-------------------------------")
        print("input [length] :: \(data)")
        print("-------------------------------")
        print("input [byte] :: \(byteStr)")
        print("-------------------------------")
        print("return [string] :: \(returnData)")
        print("====================================")
        print("")
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]

 

 

반응형
Comments