回答
XML消息指定編碼類型。
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
是的。你是對的。但是,我需要在單個代碼中解析utf-8和utf -16 xml文件?怎麼做 ?.. – 2011-06-14 03:42:26
如果您使用XML解析器,它將爲您執行編碼。如果你正在做自己的解析器,你需要閱讀這一行並檢查編碼。如果你能夠編寫自己的XML解析器,這應該是微不足道的。 – 2011-06-14 07:34:38
如在其他的答案所描述的,有兩種方法用於指定一個文件,所述編碼通過HTTP返回:
- 爲
Content-Type
報頭字段的一部分 - 的XML內部編碼聲明文件(例如
<?xml version="1.0" encoding="UTF-8"?>
)
但是,這些都是可選的。根據HTTP規範,未指定編碼默認爲ISO 8859-1。對於XML文件,如果該文件提供了HTTP Content-Typ標頭,則這是正確的編碼。否則,默認值爲UTF-8或UTF-16(取決於是否存在byte order mark(BOM)。
因此,如果您知道內容使用UTF-8或UTF-16,請檢查BOM。如果它的存在,它是UTF-16,否則UTF-8。一個解釋見如http://www.opentag.com/xfaq_enc.htm#enc_default。
我假設你通過這個URL地址資源的表示的編碼後是。
給定URI處的資源可能有多個表示,因此,除非實際獲得,否則您通常無法事先真正瞭解所獲得表示的內容類型和編碼。使用HTTP HEAD
方法可以給你一些關於服務器願意提供哪些內容類型和編碼的指示。這也會根據客戶發送的標題而有所不同(Accept: ...
)。 如果您想了解更多信息,請查看「內容類型協商」。
做一個HEAD
或GET
請求應該返回一個Content-Type
頭與適當的charset
字段。如果在此服務器上沒有發生內容類型協商(通常是這種情況),則這不會發生變化。
如果您在Java中使用HttpURLConnection
,則可以使用getHeaderFieldKey
和getHeaderField
查看標頭。
- 1. 如何確定這是latin1還是utf8?
- 2. SQL Server輸出查詢到UTF8而不是UTF16
- 3. C++ UTF8到UTF16 Linux使用iconv
- 4. 編碼名稱是UTF8還是UTF-8?
- 5. Java如何找出URL是http還是https?
- 6. 如何找到單片機是大端還是小端?
- 7. 如何找到它是32位還是64位? Tomcat
- 8. 以UTF8而非UTF16輸出DataTable XML
- 9. utf8 <-> utf16:codecvt性能差
- 10. 在SQL Server中將UTF8轉換爲uTF16
- 11. 我應該將UCS2還是UTF16轉換爲UTF?
- 12. 如何將UTF8字符串轉換爲UTF16
- 13. 如何將utf16 ushort數組轉換爲utf8 std :: string?
- 14. 如何找出一個鏈接是由JavaScript處理還是使用href url
- 15. 如何找出url http://www.test.com/abc.pdf是一個文件還是一個目錄?
- 16. 如何找到給定的數字是八進制還是不是?
- 17. 如何找到給定的編號是twilio購買數量還是不是
- 18. 確定沒有BOM的文本文件是UTF8還是ASCII
- 19. 當mysql db是utf8時使用addslashes()還是有用嗎?
- 20. Perl UTF8到UTF16的轉換錯誤 - 寬字符
- 21. Mac和Linux之間的區別iconv UTF16到UTF8
- 22. 如何判斷字符串是URL還是本地路徑?
- 23. 確定url是pdf還是html文件
- 24. 「fb://」url scheme - 官方還是不是?
- 25. 檢查URL方案是HTTP還是HTTPS
- 26. URL編碼ASCII/UTF16字符
- 27. 如何檢查Web服務url是Soap還是REST Web服務url
- 28. 得到錯誤,同時檢查URL是活着還是不
- 29. Cocos2dx - 如何查找孩子是精靈還是層?
- 30. JS:如何找出是誰造成了window.onbeforeunload():F5還是提交?
服務器響應應該在Content-Type頭字段中包含一個名爲charset的子字段。包含的值包括UTF-8,UTF-16等。 – 2011-06-13 16:14:52
URL是ASCII碼。 – 2011-06-13 16:15:19
@jleedev:如果你讀到OP的字面意思之外,我認爲它們實際上是指由URL檢索的內容,而不是URL本身。 :-) – 2011-06-13 16:15:59