使用Java原语很容易将char代码转换为符号
int i = 65;
char c = (char) i; // 'A'
如何与Kotlin一样?
答案 0 :(得分:26)
使用int.toChar()
功能执行此操作。
答案 1 :(得分:1)
首先使用ByteBuffer将Int转换为ByteArray(具有正确的字节顺序),然后使用适当的String构造函数。
import java.nio.ByteBuffer
import java.nio.ByteOrder
import java.nio.charset.Charset
fun intToByteArray(n: Int, byteOrder: ByteOrder) =
ByteBuffer.allocate(4).order(byteOrder).putInt(n).array()
fun byteArrayToUnicode(ba: ByteArray, charSet: Charset) =
String(ba, charSet)
fun intToUniCode(n: Int, byteOrder: ByteOrder, charSet: Charset) =
byteArrayToUnicode(intToByteArray(n, byteOrder), charSet)
fun test() {
val charSet = Charset.forName("UTF-32BE")
val n = 0x000000f7 // division sign (U+00F7)
val s = intToUniCode(n, ByteOrder.BIG_ENDIAN, charSet)
println(s)
}