SORU
3 Temmuz 2010, CUMARTESİ


Neden python string unicode ilan?

Hala python öğreniyorum ve bir şüphe var:

Python 2.6.x ben genellikle dosya başlığında bu kodlama (PEP 0263) gibi bildirin

# -*- coding: utf-8 -*-

Bundan sonra, benim dizeleri her zamanki gibi yazılır:

a = "A normal string without declared Unicode"

Ama python proje kodu her gördüğümde, kodlama Başlığı bildirilmedi. Bunun yerine, bu gibi: her dizesi ilan etti

a = u"A string with declared Unicode"

Ne fark eder? Bunun amacı nedir? Python 2.6 biliyorum.x ASCII kodlama ayarlar, varsayılan olarak, ama başlık beyanları ile geçersiz olabilir, başına dize Bildirgesi anlamı nedir?

Ek:Karışık olduğum gibi dize kodlama ile kodlama dosya. Açıklama için teşekkür ederiz :)

CEVAP
3 Temmuz 2010, CUMARTESİ


O başkaları belirttiğimiz gibi iki farklı şeylerdir.

Ne zaman seni # -*- coding: utf-8 -*- belirtinPython kaydettiğiniz utf-8 olduğunu söylüyorsun. Python 2 için varsayılan ASCII (Python 3 utf-8). Bu sadece yorumlayıcı dosya karakterleri okur nasıl etkiler.

Genel olarak, muhtemelen bir dosya içine yüksek unicode karakter kodlaması ne olursa olsun gömmek için iyi bir fikir değil; ya da kodlama, unicode dize kaçar, kullanabilirsiniz.


Ön u ile bir dize bildirmekgibi u'This is a string' Unicode dize, bayt Python derleyici söyler. Bu çoğunlukla şeffaf yorumlayıcı tarafından ele alınır; en bariz fark, şimdi dize unicode karakterleri (u'\u2665' şimdi yasal) gömebilirsiniz. from __future__ import unicode_literals varsayılan yapmak için kullanabilirsiniz.

Bu sadece 2; varsayılan Unicode Python Python 3 için geçerlidir ve ön b (bayt sırası ilan için b'These are bytes' gibi) belirtmeniz gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007