Notice
Recent Posts
Recent Comments
Link
투케이2K
149. (swift5/xcode) [유틸 파일] stringToBcdFormat : String 문자열 >> BCD 포맷 바이트 반환 본문
Swift
149. (swift5/xcode) [유틸 파일] stringToBcdFormat : String 문자열 >> BCD 포맷 바이트 반환
투케이2K 2023. 10. 21. 10:30[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [String 문자열 >> BCD 포맷 바이트 반환]
// -----------------------------------------------------------------------------------------
func stringToBcdFormat(data: String) -> Data? {
/*
// -----------------------------------------
[stringToBcdFormat 메소드 설명]
// -----------------------------------------
1. String 문자열 >> BCD 포맷 바이트 반환
// -----------------------------------------
2. 호출 방법 : C_Encryption().stringToBcdFormat(data: "2000")
// -----------------------------------------
3. 리턴 반환 :
(HEX 값) : 0x20 0x00
(Byte 값) : [32, 0]
// -----------------------------------------
*/
// [초기 리턴 데이터 변수 선언 실시]
var returnData: Data? = nil
var strData = ""
var byteData = ""
var hexData = ""
// [인풋 데이터 널 체크 수행 실시]
if data != nil
&& data.count>0
&& data != ""
&& data.trimmingCharacters(in: .whitespacesAndNewlines) != ""
&& data.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
&& data.isEmpty == false {
// [문자열 추가 설정]
if (data.count % 2 == 0) { // [짝수로 나누어 떨어지는 경우]
strData = data
}
else { // [홀수 인 경우]
strData = "0" + data // [짝수로 만듦]
}
// [for 문을 수행하면서 2글자씩 잘라서 hex 문자열 값으로 변경]
var i = 0
while (i < strData.count) {
var sub = i + 2
hexData = hexData + " " + "0x" + strData.subString(_start: i, _end: sub-1)
i += 2
}
hexData = hexData.trim()
// S_Log._D_(description: "Hex 문자열 확인", data: [ "HEX :: \(hexData)" ])
// [hex string to byte 변환 / 리턴 결과 삽입]
returnData = hexStringToData(string: hexData)
byteData = dataToByteString(data: returnData!)
}
// [로그 출력 실시]
S_Log._D_(description: "String 문자열 >> BCD 포맷 바이트 반환", data: [
"INPUT :: \(data)",
"HEX :: \(hexData)",
"RETURN :: \(byteData)"
])
// [리턴 데이터 반환 실시]
return returnData
}
[결과 출력]
================================================================
LOG :: CLASS PLACE :: C_Encryption.swift :: stringToBcdFormat(data:) :: 1365
-------------------------------------------------
LOG :: NOW TIME :: 2023-10-21 10:20:56
-------------------------------------------------
LOG :: DESCRIPTION :: String 문자열 >> BCD 포맷 바이트 반환
-------------------------------------------------
LOG :: INPUT :: 2000
-------------------------------------------------
LOG :: HEX :: 0x20 0x00
-------------------------------------------------
LOG :: RETURN :: [32, 0]
================================================================
반응형
'Swift' 카테고리의 다른 글
Comments