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 構件:

Kotlin
Groovy
XML

您可以從

新增用戶端相依性
了解如何將用戶端相依性新增至現有專案。
進一步了解 Ktor 用戶端所需的構件。

安裝 BOMRemover

若要安裝 BOMRemover,請將其傳遞至 用戶端配置區塊 內的 install 函式:

kotlin
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.plugins.bomremover.*
//...
val client = HttpClient(CIO) {
    install(BOMRemover)
}