Notice
Recent Posts
Recent Comments
Link
투케이2K
217. (kotlin/코틀린) [유틸 파일] stringToBcdFormat : 문자열 >> BCD 포맷 바이트 반환 실시 본문
Kotlin
217. (kotlin/코틀린) [유틸 파일] stringToBcdFormat : 문자열 >> BCD 포맷 바이트 반환 실시
투케이2K 2023. 3. 1. 10:57[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [stringToBcdFormat] : 문자열 >> BCD 포맷 바이트 반환
// -----------------------------------------------------------------------------------------
fun stringToBcdFormat(data: String): ArrayList<Byte>? {
/**
* // -----------------------------------------
* [stringToBcdFormat 메소드 설명]
* // -----------------------------------------
* 1. 문자열 >> BCD 포맷 바이트 반환
* // -----------------------------------------
* 2. 호출 방법 : C_Encryption.stringToBcdFormat("2000")
* // -----------------------------------------
* 3. 리턴 데이터 :
* 헥사 : 0x20 0x00
* 바이트 : [32, 0]
* // -----------------------------------------
*/
// [리턴 데이터 변수 선언 실시]
var returnData: ArrayList<Byte>? = null
var strData = data
var hex = ""
// [로직 처리 실시]
try {
// [널 판단 및 정수 구성 여부 판단 실시]
if (C_Util.stringNotNull(strData) === true && C_Util.stringIsNumber(strData) === true) { // [널이 아닌 경우]
// [문자열 추가 설정]
if (strData.length % 2 == 0) { // [짝수로 나누어 떨어지는 경우]
}
else { // [홀수 인 경우]
strData = "0$strData" // [짝수로 만듦]
}
// [for 문을 수행하면서 2글자씩 잘라서 hex 문자열 값으로 변경]
var i = 0
while (i < strData.length) {
val sub = i + 2
hex = hex + " " + "0x" + strData.substring(i, sub)
i += 2
}
// [hex string to byte 변환]
returnData = hexStringToByteArray(hex)
}
} catch (e: Exception) {
e.printStackTrace()
}
// [로그 출력 실시]
///*
S_Log.ltd("================================================")
S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: 문자열 >> BCD 포맷 바이트 반환 실시]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[INPUT :: $data]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[HEX :: $hex]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[RETURN :: " + returnData.toString() + "]")
S_Log.lbd("================================================")
// */
// [리턴 데이터 반환 실시]
return returnData
}
[결과 출력]
D///===========//: ================================================
I/: [C_Encryption >> stringToBcdFormat :: 문자열 >> BCD 포맷 바이트 반환 실시]
I/: -----------------------------------------
I/: [INPUT :: 2000]
I/: -----------------------------------------
I/: [HEX :: 0x20 0x00]
I/: -----------------------------------------
I/: [RETURN :: [32, 0]]
D///===========//: ================================================
반응형
'Kotlin' 카테고리의 다른 글
219. (kotlin/코틀린) [유틸 파일] getWidebean : 단말기 고유값 [와이드 빈] 확인 (0) | 2023.03.01 |
---|---|
218. (kotlin/코틀린) [유틸 파일] getAndroidID : 단말기 고유값 [안드로이드 ID] 확인 (0) | 2023.03.01 |
216. (kotlin/코틀린) [유틸 파일] jsonObjectToMap : jsonObject 를 Map 으로 변환 수행 (0) | 2023.02.22 |
215. (kotlin/코틀린) 변수 선언 및 when 문을 사용해 조건 확인 , 데이터 삽입 실시 (0) | 2023.02.16 |
214. (kotlin/코틀린) [유틸 파일] 와이파이 (wifi) 및 네트워크 (network) 연결 수행 팝업창 호출 실시 (0) | 2023.02.14 |
Comments