如何将符号保存为可读的XML,同时将其写入文件?



我在我的Android应用程序中保存XML文件。当我写它时,我使用这个方法:

context.contentResolver.openOutputStream(source, "w")?.bufferedWriter()?.use { stream ->
val xmlString = Xml.newSerializer().document {
// some xml things
}
stream.write(xmlString)
}

和它的工作文件

但是当我保存字母符号并试图在阅读器应用程序中打开此文件时,我看到十进制HTML代码。例如:将П改为П。我得到的建议是,我需要保存西里尔符号直接使用它的UTF-8值。你能帮我吗?

您可以在这里找到官方kotlin文档https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-file/buffered-writer.html。

context.contentResolver.openOutputStream(source, "w")?.bufferedWriter(
charset: Charset = Charsets.UTF_8)?.use { stream ->
val xmlString = Xml.newSerializer().document {
// some xml things
}
stream.write(xmlString)
}

另外,你需要在阅读器应用程序中使用你指定的相同编码打开这个文件。