【发布时间】:2019-11-03 13:42:03
【问题描述】:
在处理 json 和响应时,您通常希望在 java 中将 String 编码为 UTF-8。
String response = new String(response.data, UTF); // java code
对于 Kotlin,这是如何完成的?我转换了我的 Java 类,结果是
String response = String(response.data, UTF) // kotlin code
但这会导致错误,因为我相信 Kotlin String() 方法与我在 Java 中所做的不同。是不是像使用 toString() 一样简单?
String response = response.data.toString() // kotlin code
系统如何知道使用 UTF-8,或者这只是默认设置?这只是假设,但如果我想对 String 对象做一些事情并因此使用 UTF-16 怎么办?如何更改编码?
【问题讨论】:
-
如果您从一些字节数据开始,并以字符串结尾,那么您不是从 UTF8 解码吗? (这里的背景是字符(无论如何在 Java/Kotlin 中)是 16 位的,而 UTF-8 是将这些 Unicode 字符编码为 8 位字节的一种方式。所以如果
response.data已经在 UTF-8 中,那么这是解码;或者如果不是,那么我不知道这个问题是关于什么的!)
标签: java kotlin encoding character-encoding