维基百科中文字符的编码是什么?

32
我在维基百科上查看中文字符的编码方式,但是我不太清楚他们使用的是什么编码方式。例如,“的”被编码为“%E7%9A%84”(点击这里)。这是三个字节,然而在这个页面描述的编码方式中,没有一种使用三个字节来表示中文字符。例如UTF-8使用两个字节。
我想要将这三个字节匹配到实际字符,请问有哪种编码方式可以做到吗?

2
该字符的UTF-8编码为E7 9A 84 - John Flatness
3个回答

31

>>> c='\xe7\x9a\x84'.decode('utf8')
>>> c
u'\u7684'
>>> print c
的


虽然Unicode将其编码为16位,但UTF-8将其分解为3个字节。


1
谢谢,我以为UTF-8使用的是与Unicode相同的编码方式。现在这很有道理。 - laurent
25
@Laurent说:不是的,因为(请跟我重复)Unicode不是一种编码。Unicode是一个用于表示文本的标准,而编码(实际上,有几种编码)是该标准的一部分。 - sleske
@Laurent:你可能会因为UTF-32(一种编码方式)中的字符实际上是由它们的代码点号编码(即编码是微不足道的)而感到困惑。但是还有其他的编码方式,而UTF-32实际上并不经常使用。 - sleske

20

维基百科页面的标题栏包括这个:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

所以这个页面是UTF-8编码。


6
字符集这个词是具有误导性的。它的意思是“编码方式”,而不是字符集合,两者常常被混淆在一起。 - hAcKnRoCk

6
你提供的例子是一个IRI
IRI使用UTF8编码。UTF8实现了Unicode,在Unicode中,每个字符都有一个码点,对于所有汉字,它们的码点在0x4E00到0x9FFF之间(2个字节)。
但是UTF8不仅仅通过存储它们的码点来编码字符(UTF32可以这样做)。相反,它使用更复杂的标准,使所有的汉字表意文字都是2或3个字节长。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接