從物理字節流的角度來看,對於使用UTF8存儲的每個文件,我認爲UTF8 bomless與Cp1252完全相同,是這樣嗎?UTF8 Bomless vs Cp1252
0
A
回答
6
肯定不是真的。如果你想使它成爲一個真實的語句,你需要添加子句「如果我只使用US-ASCII字符」。但那是一個巨大的「如果」。如果我們只使用US-ASCII字符,則很多編碼甚至不存在。許多編碼(包括UTF-8)確保所有US-ASCII字符都使用相同的單字節表示進行編碼。
0
否。不僅UTF-8覆蓋更大的字符集,而且代碼點U+7f
上的任何Unicode字符都將由UTF-8中的多個字節和CP-1252中的單個字節編碼。 CP-1252和ISO-8859-1(也被稱爲Latin-1)之間有更密切的對應關係,但即使這些對應關係不大但重要。這種差異導致了許多最常見的編碼問題。
舉一個例子,一個左單引號由unicode代碼點U+2018
表示。在CP-1252中,這被編碼爲字節0x91
。這個字符在Latin-1中根本不存在,而在UTF-8中,它由三字節序列0xe28098
編碼。更一般地說,可以說Latin-1和UTF-8是基於Unicode的編碼,因爲所有的編碼都可以在算法上映射到unicode編碼點,並且將表示該字符,而CP-1252是非基於unicode的編碼。用於表示字符的字節與其unicode代碼點之間沒有固定的對應關係。
相關問題
- 1. 如何正確地將UTF8轉換爲cp1252(1.8.7)
- 2. MySQL將latin1轉換爲utf8,cp1252 0x80-0x9F錯誤
- 3. Encoding.ASCII VS編碼.UTF8錯誤
- 4. JSON字符編碼vs utf8
- 5. 編碼CP1252
- 6. PHP cp1252/windows-1252轉換爲UTF-8
- 7. Python 3的默認編碼CP1252
- 8. vim不顯示cp1252字符
- 9. RTF CP1252到文本UTF-8
- 10. CP1252爲UTF-8 .dbf文件PHP
- 11. UTF8 - > Latin1難度,PHP
- 12. cp1252字符串編碼爲utf-8在c#中的字符串
- 13. PyCharm調試總是去cp1252.py
- 14. 轉換UTF-8 CP1252紅寶石2.2
- 15. 的iconv:從轉換到CP1252 UTF-8
- 16. 在javascript中將cp1252轉換爲unicode
- 17. 批量轉換CP1252爲UTF-8在Windows
- 18. unicode字符不能轉換爲cp1252
- 19. 將編碼從CP1252轉換爲UTF-8
- 20. 爲什麼Eclipse使用Cp1252編碼?
- 21. 拉丁Vs的UTF8字符集和使用索引(MySQL的5.5)
- 22. WPF WebBrowser NavigateToString vs NavigateToStream(希伯來文/非UTF8編碼)
- 23. URL編碼IE8 VS的Firefox/Chrome瀏覽器UTF8字符
- 24. json_encode utf8
- 25. 到UTF8
- 26. Python:UnicodeDecodeError:'utf8'
- 27. 解碼UTF8實體爲UTF8 C++
- 28. UTF 16 UTF8使用C++中的utf8庫
- 29. 更改編碼UTF8到UTF8 BOM與rebol
- 30. Perl將文件句柄就地/從cp1252流式傳輸到utf-8?
下面的UTF8字符串的CP1252相當於什麼? 'ϨϩϪϫϬ' – sarnold
如果您只使用ASCII字符,那麼是的,它是相同的。如果您使用ASCII集外的字符,則完全不同。如果您需要更詳細的答案,我建議您閱讀http://en.wikipedia.org/wiki/Unicode和http://en.wikipedia.org/wiki/Utf8。 –