0
I 스위프트 사에서 다음과 같은 기능이 있습니다나는 모드 버스 CALC에 대한 바이트 단위로 문자열을 변환해야
import Foundation
func crc16(of data: Data) -> String {
var crc = 0xffff as UInt16
for byte in data {
crc = crc^UInt16(byte)
for _ in 0..<8 {
if crc & 0x0001 == 0x0001 {
crc = (crc >> 1)^0xa001
} else {
crc = crc >> 1
}
}
}
let msb = crc >> 8
let lsb = crc & 0x00ff
return String(format: "%02x%02x", lsb, msb)
}
을 그리고 그 코드로 CRC를 계산할 수 있습니다 물어 지금
print(crc16(of: Data(bytes: [0x11, 0x01, 0x00, 0x03, 0x00, 0x0C]))) // -> ce9f
print(crc16("11010003000C")) // -> ce9f
대신 :
, 어떻게 사용하는 코드를 해당 기능을 수정할 수 있습니다편집 텍스트에 "11010003000C"문자열을 삽입하고 다른 편집 텍스트에 "ce9f"함수의 결과를 표시하는 간단한 응용 프로그램을 만들고 싶습니다.
미리 감사드립니다.
먼저 답장을 보내 주셔서 감사합니다! "오류 : (1) 종료 :/usr/bin/swift-build-tool -f /swift-execution/.build/debug.yaml main 줄 16, 열 17에서 오류가 발생했습니다 : 불필요한 인수 레이블 'of :'의 호출 : return crc16 (of : 데이터) " – Bokka
코드를 수정하려고했습니다 ("of of "를 (를) 제거했습니다. – Bokka