kotlin-native samples で遊んでいました。 String
ByteArrayからpinned
を取得するにはどうすればよいでしょうか。コンソールで印刷したいだけです。
今これを使用してください:string.toUtf8(start, end)
_stringFromUtf8
_を使用する
_/**
* Converts an UTF-8 array into a [String]. Replaces invalid input sequences with a default character.
*/
fun ByteArray.stringFromUtf8(start: Int = 0, size: Int = this.size) : String =
stringFromUtf8Impl(start, size)
_
ここ を参照してください。
また、C APIを相互運用することでbyteArrayが_CPointer<ByteVar>
_のようになっている場合は、Kotlin-Nativeで.toKString()
を使用してください。
JVMのソリューションが必要な場合は、stringFromUtf8
はネイティブプラットフォームでのみ使用できます。引数として toString を使用します Charset :
val byteArray = "Hello World".toByteArray(Charsets.UTF_8)
val str = byteArray.toString(Charsets.UTF_8)
特にネイティブのみをターゲットにする場合は、 Sinのソリューション を使用します。