Soru Vikipedi'de Çince karakterlerin kodlanması nedir?


Vikipedi'deki Çince karakterlerin kodlanmasına bakıyordum ve ne kullandığını bulmakta zorlanıyorum. Örneğin "的", "% E7% 9A% 84" olarak kodlanır (buraya bakın). Bu üç bayt, ancak açıklanan kodlamalardan hiçbiri bu sayfada Çince karakterleri temsil etmek için üç bayt kullanır. UTF-8 örneğin 2 bayt kullanır.

Temel olarak bu üç baytı gerçek bir karakterle eşleştirmeye çalışıyorum. Kodlamanın ne olabileceği konusunda bir öneriniz var mı?


20
2018-04-10 05:41


Menşei


Bu karakterin UTF-8 kodlaması E7 9A 84. - John Flatness
@zerocrates, cevabı yazmalı ve bunun için kredi almalısınız - jcomeau_ictx


Cevaplar:



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


Unicode 16 bit olarak kodlarsa da, utf8 3 bayta kadar keser.


21
2018-04-10 05:49



Teşekkürler, UTF-8'in unicode ile aynı kodlamayı kullandığını farz ettim. Bu şimdi mantıklı. - this.lau_
@Laurent: Hayır, çünkü (lütfen benden sonra tekrar et) Unicode bir kodlama değil. Unicode, metni temsil eden bir standarttır ve kodlama (aslında birkaç kodlama) standardın bir parçasıdır. - sleske
@Laurent: UTF-32'de (ki bir kodlama olan) karakterlerin aslında kod noktası numaraları tarafından kodlanmış olmaları (yani kodlama önemsizdir) ile karıştırılabilir. Fakat başka kodlamalar da var ve UTF-32 çok sık kullanılmıyor. - sleske


Bir wikipedia sayfasının başlığı şunları içerir:

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

Yani sayfa UTF-8.


16
2018-04-10 05:53



karakter takımı yanıltıcıdır. Sıklıkla birbirine karıştırılan karakter kümeleri değil, "kodlama" anlamına gelir - hAcKnRoCk


Verdiğiniz örnek bir IRI.

IRI'lar UTF8 kodlamasını kullanır. UTF8 unicode uygular ve unicode'de her karakterin bir kod yeriBu, tüm Çince karakterler için 0x4E00 ile 0x9FFF (2 bayt) arasındadır.

Ancak UTF8, karakterlerini sadece kod yeri (UTF32 bunu yapar). Bunun yerine, bir daha karmaşık standartBu tüm Çin ideogramlarını 2 yapar veya 3 bayt uzun.


2
2017-11-30 23:08