如何解决java-如何查找网址是utf-8还是utf-16
|| 如何在Java中查找URL是UTF-8还是UTF-16? 例如,此URL是UTF-8。解决方法
XML消息指定编码类型。
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<?xml version=\"1.0\" encoding=\"UTF-16\"?>
, 如其他答案所述,有两种方法可以指定通过HTTP返回的文档的编码:
作为“ 1”标题字段的一部分
XML文件中的编码声明(例如<?xml version=\"1.0\" encoding=\"UTF-8\"?>
)
但是,这两个都是可选的。根据HTTP规范,未指定默认的编码为ISO 8859-1。对于XML文件,如果文件带有HTTP Content-Typ标头,则此编码正确。否则,默认值为UTF-8或UTF-16(取决于字节顺序标记(BOM)的存在)。
因此,如果您知道内容在UTF-8或UTF-16中,请检查BOM。如果存在,则为UTF-16,否则为UTF-8。参见例如有关说明,请http://www.opentag.com/xfaq_enc.htm#enc_default。
, 我假设您正在对该URL所寻址资源的表示形式进行编码之后。
给定URI处的资源可能具有多种表示形式。因此,您通常无法真正真正地预先知道所获得表示的内容类型和编码,直到您真正获得它为止。使用HTTP“ 3”方法可以向您表明服务器愿意提供哪些内容类型和编码。这也将根据客户端发送的标题而有所不同(Accept: ...
)。
如果您想了解更多有关此的信息,请查找“内容类型协商”。
进行“ 3”或“ 6”请求应返回带有相应“ 8”字段的“ 1”标头。如果在此服务器上未进行任何内容类型协商(通常是这种情况),则不会改变。
如果您在Java中使用HttpURLConnection
,则可以使用getHeaderFieldKey
和getHeaderField
查看标头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。