Client Plugin
BOM 移除器
所需依赖项: io.ktor:ktor-client-bom-remover
代码示例: client-bom-remover
字节顺序标记 (BOM) 是在 Unicode 文件或流中编码的字符。BOM 的主要目的是指示文本的流编码以及 16 位和 32 位编码的字节序。
在某些情况下,有必要从响应体中移除 BOM。例如,在 UTF-8 编码中,BOM 的存在是可选的,并且当被不知道如何处理 BOM 的软件读取时,可能会导致问题。
Ktor 客户端提供了 BOMRemover 插件,该插件可以从 UTF-8、UTF-16 (BE)、UTF-16 (LE)、UTF-32 (BE) 和 UTF-32 (LE) 编码的响应体中移除 BOM。
请注意,在移除 BOM 时,Ktor 不会改变
Content-Length
标头,该标头会保留初始响应的长度。
添加依赖项
要使用 BOMRemover
,你需要在构建脚本中包含 ktor-client-bom-remover
artifact:
Kotlin
Groovy
XML
你可以从
添加客户端依赖项
中了解更多关于 Ktor 客户端所需的 artifact。 了解如何向现有项目添加客户端依赖项。
安装 BOMRemover
要安装 BOMRemover
,请将其传递给 客户端配置块 内的 install
函数:
kotlin
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.plugins.compression.*
//...
val client = HttpClient(CIO) {
install(BOMRemover)
}