Java 解析响应 URLConnection Header 值

Java Resolve Response URLConnection Header Value

我使用 URLConnection 发送 http head 请求并得到 header 值 Content-Disposition 无法读取的值,如下所示。

Content-Disposition: attachment; filename="৩টি ধাপে সহজেই আতà§à¦¬à¦¬à¦¿à¦¶à§à¦¬à¦¾à¦¸à§€ হয়ে উঠà§à¦¨ | Motivational Video in Bangla.mp4"

如何将此文本 ৩টি ধাপে সহজেই আতà§à¦¬à¦¬à¦¿à¦¶à§à¦¬à¦¾à¦¸à§€ হয়ে উঠà§à¦¨ 解析为 ৩টি ধাপে সহজেই আত্ববিশ্বাসী হয়ে উঠুন

您的问题是响应采用.. 非典型的孟加拉语编码。我找不到确切的,但似乎接近“Windows-1252”。

运行 下面的代码给出了以下输出,一些复合字符有问题:

public static void main(String[] args) throws UnsupportedEncodingException {
    var source = "৩টি ধাপে সহজেই আতà§à¦¬à¦¬à¦¿à¦¶à§à¦¬à¦¾à¦¸à§€ হয়ে উঠà§à¦¨";
    var bytes = source.getBytes("Windows-1252");
    System.out.println("Expected: " + "৩টি ধাপে সহজেই আত্ববিশ্বাসী হয়ে উঠুন");
    System.out.println("Actual  : " + new String(bytes, StandardCharsets.UTF_8));
}

Expected: ৩টি ধাপে সহজেই আত্ববিশ্বাসী হয়ে উঠুন
Actual  : ৩টি ধাপে সহজেই আত�ববিশ�বাসী হয়ে উ� �ন

解决方案可能是为这种孟加拉文本编码找到合适的解码器,以便将其转换为 Unicode。 祝你好运!