package com.flightfeather.obd
|
|
import org.junit.Test
|
import java.nio.charset.Charset
|
import java.text.SimpleDateFormat
|
import java.util.*
|
|
/**
|
* @author riku
|
* Date: 2019/9/12
|
*/
|
class Test {
|
|
@Test
|
fun foo1() {
|
val b = ByteArray(20) {8}
|
println(b[18])
|
}
|
|
@Test
|
fun foo2() {
|
val b = ByteArray(2)
|
b[0] = 0x01
|
b[1] = 0x80.toByte()
|
|
println("${b[0].toString(16)}${b[1].toInt()}")
|
println("${b[0]}${b[1]}".toInt(16))
|
}
|
|
@Test
|
fun foo3() {
|
val hexNum = "ff"
|
val length = hexNum.toInt(16)
|
println(length)
|
}
|
|
@Test
|
fun foo4() {
|
val h = "0101"
|
val byte = 0xff
|
val b = h.toInt(16)
|
println(b)
|
}
|
|
@Test
|
fun foo5() {
|
val s = "23 23 30 30 30 30 30 35 33 31 36 30 38 30 31 30 35 33 36"
|
val sb = StringBuilder()
|
val ascii = s.split(" ")
|
ascii.forEach {
|
sb.append(it.toIntOrNull(16)?.toChar())
|
}
|
println(sb.toString())
|
}
|
|
@Test
|
fun foo6() {
|
val cal = Calendar.getInstance().apply {
|
set(2019, 9, 15, 23, 16, 59)
|
}
|
|
println(SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.time))
|
}
|
|
@Test
|
fun foo7() {
|
val a = "0AAF".toIntOrNull(16)?.toString(2)
|
println(a)
|
}
|
|
@Test
|
fun foo8() {
|
val byte = ByteArray(2)
|
byte[0] = 0x23
|
byte[1] = 0x23
|
|
byte[0].toString(16)
|
}
|
|
@Test
|
fun foo9() {
|
val b = 128.toByte()
|
var a = 0
|
if (b < 0) {
|
a = b + 256
|
} else {
|
a = b.toInt()
|
}
|
println(b.toString(16))
|
}
|
|
@Test
|
fun foo10() {
|
val s = "2 31 37 36 39 31 35 33 31 39 30 39 31 32 30 30 30 36 1 1 0 42 13 9 f 12 33 3b 2 0 8a 1b 0 36 2e 0 23 60 11 b4 0 c8 0 b4 0 0 66 0 0 0 0 0 0 73 0 0 0 b9 4 75 0 2e d8 ed 0 0 0 0 80 0 bc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
|
val ascii = s.split(" ")
|
var bcc = 0x00
|
ascii.forEach {
|
bcc = bcc.xor(it.toInt(16))
|
}
|
println(bcc.toString(16))
|
}
|
}
|