繁体   English   中英

unicode 字符的编码?

[英]encoding for unicode character?

我从第三方获取文档,该文档以 utf-8 字符集显示在浏览器上

  Content-Type: text/html; charset=utf-8

但是有些字符显示为垃圾。 我的理解是即使他们发送 unicode character ,utf-8 编码也是合适的。 我应该将编码更改为其他内容还是发送方的问题。 发送方使用 ANSI/ASCII 编码。 我相信他们应该使用 utf 8,因为 ANSI/ASCII 不适合 unicode 字符。 那是对的吗 ?

计算机最终只能处理 1 和 0(数字)。 要在计算机中表示文本,您需要将数字映射到字符。 这正是字符编码的用途。

例如,ASCII 字符编码指定 65 = A、66 = B 等。

有许多不同的字符编码。 ASCII 是一种非常古老且有限的字符编码,只有 127 个字符的空间。

UTF-8 是一种不同的字符编码,可以对包含数千个字符的 Unicode 标准中的所有字符进行编码。

如果您的 HTML 页面指定页面上的文本使用 UTF-8 编码,但实际上它使用不同的编码,那么您会在屏幕上看到垃圾 - 您告诉浏览器它是 UTF-8,但实际上并非如此将以错误的方式解释页面。 如果你得到这个,那么它几乎肯定是发送方的一个问题 - 发送方必须确保它确实使用 UTF-8 对文本进行编码,如果它在 HTML 标头中说的话。

UTF-8 适用于任何类型的文本,我认为这应该是您默认的字符编码选择; 如果您有充分的理由,请仅使用其他东西。

UTF-8 与 ASCII 兼容(ASCII 是 UTF-8 的一个子集)——如果发送方确实在发送 ASCII 编码的文本,那么使用 UTF-8 显示它应该没有问题。 如果你得到奇怪的字符,那么发送方很可能没有真正使用 ASCII。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM