SORU
24 ŞUBAT 2009, Salı


JSON karakter kodlama - UTF-8-desteklenen tarayıcılar tarafından veya sayısal kaçış dizileri kullanmalıyım?

Json kaynaklarını temsil etmek için kullanan bir Java eklentisi yazıyorum ve json kodlamak için en iyi yolu hakkında biraz sıkışmış düşünüyorum. Json rfc (http://www.ietf.org/rfc/rfc4627.txt) okumayı tercih edilen kodlama utf-8 olduğu açıktır. Ama rfc de bir dize belirterek karakterler için kaçış mekanizması açıklar. Bu genellikle non-ascıı, böylece elde edilen utf-8, geçerli hale ascıı karakterler kaçmak için kullanılacak sanırım.

Hadi-ascıı olmayan unicode karakterleri (kod noktaları) içeren bir json dize var demek. Benim Java eklentisi sadece utf-8 kodlama ve iade etmeli, ya da ascıı olmayan karakterler ve iade saf ascıı tüm bu kaçış?

Tarayıcılar sonuçları jsonp veya eval kullanarak çalıştırmak mümkün olmak istiyorum. Bu kararı etkiler mi? Utf-8 için çeşitli tarayıcınızın javascript desteği bilgim eksik.

EDİT: sonuçları kodlamak hakkında en büyük endişem gerçekten sonuçları tarayıcı işleme hakkında olduğunu açıklamak istedim. Okudum ne tarayıcılar özellikle JSONP kullanarak kodlama için hassas olabileceğini gösterir. Bu konuda gerçekten iyi herhangi bir bilgi bulamadım, ne olacağını görmek için bazı testler yapmak zorundayım. İdeal olarak, yalnızca gerekli olan ve sadece utf-8 sonuçları kodlamak o birkaç karakter kaçmak istiyorum.

CEVAP
27 ŞUBAT 2009, Cuma


Tüm uygun JSON ayrıştırıcıları UTF-8 de güvenli sayısal uygun kodlamalar ele almak mümkün olacak.

JSON kodlayıcı güvenli sayısal kodlamalar yerine kullanmak için yeteneği sadece size daha fazla seçenek sunar. Güvenli sayısal kodlama seçebilirsiniz bir nedeni aktarım mekanizması olacaktırarasındakodlayıcı ve kod çözücü amaçlı temiz veya UTF-8 iletim saklamak için güvenilir olamaz.

Bazı çerçeveler, JSON PHP uygulaması da dahil olmak üzere,her zamankodlayıcı tarafında güvenli sayısal kodlamalar yapın. Bu adamcağız/sınırlı aktarım mekanizmaları ve benzeri ile maksimum uyumluluk için tasarlanmıştır. Ancak, bu JSON kod çözücüleri UTF-8 ile ilgili sorunlar var, bir göstergesi olarak yorumlanmamalıdır.

Yetenek kodlamak için JSON ascıı-güvenli sayısal kodlamalar sadece daha esnek, kolay adapte senin JSON kullanman gerekiyorsa nakliye veya depolama yöntemleri olan olmayabilir UTF-8 farkında hatta ikili güvenli.

Yani, bu şekilde kullanmak için hangi karar verebilir sanırım

  • Sadece kodlayıcı ve kod çözücü arasında depolama ya da taşıma yöntemi ikili güvende olmadıkça, UTF-8,.

  • Aksi halde, güvenli sayısal kodlamalar kullanın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dougownsall

    dougownsall

    7 EKİM 2007
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008