Java UTF8 Bomless vs Cp1252
从物理字节流的角度来看,对于使用UTF8存储的每个文件,我认为UTF8 bomless与Cp1252完全相同,是真的吗 绝对不是这样。如果要使其成为真实的语句,则需要添加“如果我仅使用US-ASCII字符”子句。但这是一个巨大的“如果”。如果我们只使用US-ASCII字符,许多编码甚至不存在。许多编码(包括UTF-8)确实确保所有US-ASCII字符都使用相同的单字节表示进行编码。肯定不是真的。如果要使其成为真实的语句,则需要添加“如果我仅使用US-ASCII字符”子句。但这是一个巨大的“如果”。如果我们只使用US-ASCII字符,许多编码甚至不存在。许多编码(包括UTF-8)确实确保所有US-ASCII字符都使用相同的单字节表示进行编码。否。UTF-8不仅涵盖更大的字符集,而且代码点Java UTF8 Bomless vs Cp1252,java,eclipse,unicode,Java,Eclipse,Unicode,从物理字节流的角度来看,对于使用UTF8存储的每个文件,我认为UTF8 bomless与Cp1252完全相同,是真的吗 绝对不是这样。如果要使其成为真实的语句,则需要添加“如果我仅使用US-ASCII字符”子句。但这是一个巨大的“如果”。如果我们只使用US-ASCII字符,许多编码甚至不存在。许多编码(包括UTF-8)确实确保所有US-ASCII字符都使用相同的单字节表示进行编码。肯定不是真的。如果要使其成为真实的语句,则需要添加“如果我仅使用US-ASCII字符”子句。但这是一个巨大的“如果”
U+7f
以上的任何unicode字符都将在UTF-8中以多字节编码,在CP-1252中以单字节编码。CP-1252和ISO-8859-1(也被称为拉丁语-1)之间的对应关系更为密切,但即使是它们在小而重要的方面也有所不同。这种差异导致了许多最常见的编码问题
举一个例子,左单卷曲引号由unicode代码点U+2018
表示。在CP-1252中,这被编码为字节0x91
。这个字符在拉丁语-1中根本不存在,在UTF-8中,它由三字节序列编码0xe28098
更一般地说,可以说拉丁语-1和UTF-8是基于Unicode的编码,因为所有编码都可以通过算法映射到Unicode码点,并表示该字符,而CP-1252是非基于Unicode的编码。用于表示字符的字节与其unicode码点之间没有规则的对应关系。否。UTF-8不仅涵盖更大的字符集,而且码点
U+7f
以上的任何unicode字符将在UTF-8中由多个字节编码,在CP-1252中由一个字节编码。CP-1252和ISO-8859-1(也被称为拉丁语-1)之间的对应关系更为密切,但即使是它们在小而重要的方面也有所不同。这种差异导致了许多最常见的编码问题
举一个例子,左单卷曲引号由unicode代码点U+2018
表示。在CP-1252中,这被编码为字节0x91
。这个字符在拉丁语-1中根本不存在,在UTF-8中,它由三字节序列编码0xe28098
更一般地说,可以说拉丁语-1和UTF-8是基于Unicode的编码,因为所有编码都可以通过算法映射到Unicode码点,并表示该字符,而CP-1252是非基于Unicode的编码。用于表示字符的字节与其unicode代码点之间没有规则的对应关系。以下UTF8字符串的CP1252等价物到底是什么<代码>ϨϩϫϬ如果只使用ASCII字符,那么是的,它是相同的。如果使用ASCII集之外的字符,则完全不同。如果您需要更详细的答案,我建议您阅读和。以下UTF8字符串的CP1252等价物是什么<代码>ϨϩϫϬ如果只使用ASCII字符,那么是的,它是相同的。如果使用ASCII集之外的字符,则完全不同。如果你需要一个更详细的答案,我建议你仔细阅读。