SORU
13 ŞUBAT 2012, PAZARTESİ


Ne "İçerik türü: application / json;=utf-8" karakter; gerçekten?

Bir POST GERİSİ benim serviste JSON bir vücut ile istek yaptığımda ileti Başlığı Content-type: application/json; charset=utf-8 ı vardır. Bu başlık olmadan, hizmetinden bir hata alıyorum. Ayrıca başarılı ;charset=utf-8 bölümü olmadan Content-type: application/json kullanabilirim.

Tam olarak charset=utf-8 ne yapar ? Karakter kodlamasını belirtir biliyorum ama o olmadan gayet iyi çalışıyor. Bu kodlama ileti gövdesi olan karakter sınırı var mı?

CEVAP
13 ŞUBAT 2012, PAZARTESİ


Başlık içeriği kodlanmış ne olduğunu gösterir. Mutlaka Olası içeriğini kendisi içerik türünü anlamak için değil, yani illa sadece içerik bak ve ne yapacağını bilemezsin. HTTP başlıkları için var, (sözde) neyle karşı karşıya alıcı söylediler.

Content-type: application/json; charset=utf-8 JSON biçimi, UTF-8 karakter kodlama kodlanmış olmak üzere içeriğini belirler. Kodlama belirleme JSON için biraz gereksiz, varsayılan beri (?) JSON kodlaması UTF-8'dir. Yani bu durumda alıcı sunucu görünüşe göre JSON ile ilgili olduğunu bilerek mutlu ve kodlama veya başlık olmadan çalışır, bu yüzden varsayılan olarak UTF-8, olduğunu varsayar.

Bu kodlama ileti gövdesi olan karakter sınırı var mı?

Hayır. Başlık ve gövde içinde istediğiniz her şeyi gönderebilirsiniz. Ama, eğer bu iki maç yok eğer doğru değilse, yanlış sonuçlar elde edebilirsiniz. Eğer belirttiğiniz Başlığı içerik UTF-8 kodlanmış ama sen aslında gönderme Latin1 kodlanmış içeriği, alıcı olabilir üretmek anlamsız veriler, denemeye yorumlar Latin1 kodlanmış veri olarak UTF-8. Elbette Latin1 kodlanmış veri gönderiyorsun belirtmek ve aslında bunu yapıyorsan, o zaman evet, Latin1 olarak kodla 256 karakterle sınırlı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • PhoneArena

    PhoneArena

    7 NİSAN 2006
  • xCraash

    xCraash

    6 Temmuz 2012