implement Base56 and Base58
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
package com.infendro.encoding.numeric
|
||||||
|
|
||||||
|
private val alphabet = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz".encodeToByteArray()
|
||||||
|
|
||||||
|
object Base56 : NumericEncoding(alphabet)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package com.infendro.encoding.numeric
|
||||||
|
|
||||||
|
private val alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz".encodeToByteArray()
|
||||||
|
|
||||||
|
object Base58 : NumericEncoding(alphabet)
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.infendro.encoding.numeric
|
||||||
|
|
||||||
|
import com.infendro.encoding.Encoding
|
||||||
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertContentEquals
|
||||||
|
|
||||||
|
class `Base56 Test` {
|
||||||
|
val encoding: Encoding
|
||||||
|
get() = Base56
|
||||||
|
|
||||||
|
val original = "Hello World!".encodeToByteArray()
|
||||||
|
val encoded = "4q9snPvV4iRDWVKjK".encodeToByteArray()
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `encode empty`() {
|
||||||
|
val actual = encoding.encode(byteArrayOf())
|
||||||
|
assertContentEquals(byteArrayOf(), actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `decode empty`() {
|
||||||
|
val actual = encoding.decode(byteArrayOf())
|
||||||
|
assertContentEquals(byteArrayOf(), actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun encode() {
|
||||||
|
val actual = encoding.encode(original).also { println(it.decodeToString()) }
|
||||||
|
assertContentEquals(encoded, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun decode() {
|
||||||
|
val actual = encoding.decode(encoded)
|
||||||
|
assertContentEquals(original, actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.infendro.encoding.numeric
|
||||||
|
|
||||||
|
import com.infendro.encoding.Encoding
|
||||||
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertContentEquals
|
||||||
|
|
||||||
|
class `Base58 Test` {
|
||||||
|
val encoding: Encoding
|
||||||
|
get() = Base58
|
||||||
|
|
||||||
|
val original = "Hello World!".encodeToByteArray()
|
||||||
|
val encoded = "2NEpo7TZRRrLZSi2U".encodeToByteArray()
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `encode empty`() {
|
||||||
|
val actual = encoding.encode(byteArrayOf())
|
||||||
|
assertContentEquals(byteArrayOf(), actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `decode empty`() {
|
||||||
|
val actual = encoding.decode(byteArrayOf())
|
||||||
|
assertContentEquals(byteArrayOf(), actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun encode() {
|
||||||
|
val actual = encoding.encode(original)
|
||||||
|
assertContentEquals(encoded, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun decode() {
|
||||||
|
val actual = encoding.decode(encoded)
|
||||||
|
assertContentEquals(original, actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user