Skip to content
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)
}