2012-07-18 24 views
8

Bayt dizisi c3 82 c2 bf'yi içeren bir metin verisi kaynağım var. Bağlamında, bunun bir Yunan Phi sembolü olması gerektiğini düşünüyorum (Φ).Hangi karakter kodlaması c3 82 c2 bf?

Neyse, hangi kodlamanın kullanıldığını anlayamıyorum; Bu verileri Unicode'u bekleyen bir veritabanına işlemek için bir Python betiği yazdım ve bu özel veri dizisi için bir istisna atar.

Nasıl yapılacağı konusunda herhangi bir öneriniz var mı?

+1

Sihirli kodlamayla kodlanmış daha fazla örnek veri gönderebilir misiniz? Tek bir harf olduğunu düşündüren nedir? – vcsjones

+0

bağlamda muhtemelen Φ fa şimdiye kadar sadece arıza verilerinizdir

+0

olmalıdır " fa XBF \ XC2 XC3 \ X82 \ \ manyetik akı", bu yüzden sadece bu konuda gitmek zorunda. –

cevap

17

UTF-8 olarak yorumlanan, c3 82 “” U + 00C2 ve c2 bf “¿” U + 00BF'dir, bu pek anlamlı değildir, ancak teknik olarak geçerli UTF-8 verileridir, bu nedenle karakter düzeyinde veri hatası olarak bildirilmelidir. UTF-16 olarak yorumlanmış, bu, Hangul heceleri ve muhtemelen bir endeksliğe bağlı olarak bir CJK ideografıdır, ama yine de resmi olarak geçerli verilerdir;

Bu, çift dönüşümün sonucu gibi görünüyor, ancak eğitimli tahminler yapmak zor. Eğer stands için ise, UTF-16 formu 03 A6 veya A6 03 ve UTF-8 formu gerçek verilere gerçekten benzemeyen CE A6'dır. Verilerin kökeni hakkında bilgi, kod dönüştürmelerin ne olabileceğini tahmin etmede yardımcı olabilir.

+1

Çift kodlanmış bir U + 00BF, INVERTED QUESTION MARK gibi görünüyor. –

+2

@Keith Thompson, bu doğru! U + 00BF'niz varsa ve siz UTF-8'i kodlarsanız, bayt C2 BF'yi alırsınız.Bu baytları yanlışlıkla U + 00C2 ve U + 00BF ve UTF-8 kodları olarak yorumlarsanız, gerçek verilerdeki gibi C3 82 C2 BF elde edersiniz. –

+0

“¿” nin nereden geldiği bir sorun olmaya devam ediyor. Normalde bunun başka bir yanlış dönüşümün (8-bit kodlamalar arasında tahmin edilebilir) bir sonucu olmasını beklerdim, ama ne olabileceğini hayal bile edemiyorum. –

10

Muhtemelen Ñ karakterinden bir çift dönüşüme sahiptir. UTF-8 içinde

Ñ karakterdir: 0xc391. Zaten UTF-8 olarak kodlanmıştır LATİN-1için UTF-8Ñ karaktere dönüştürmek için çalışırsanız, alırsınız

: 0xc382c2bf.

Neden?

  1. 0xc382

    olduğunu UTF-8 çeviri LATİN-10xc3 karakteri à (tildeli A)
  2. 0xc2bf
  3. Eğer bir dönüşümü yapamazsa ne elde olan ¿ karakterdir dan LATİN-1 ( 0x91 geçersiz karakter LATİN-1
+0

Teşekkürler, ama nothing ile ilgisi yok, bu, Φ'un anlam ifade ettiği bir mühendislik kâğıdıdır. –

+0

Büyük olasılıkla, (tilde) + (üstte?) ', _any_ yanlışlıkla çift dönüşümün sonucudur. Bu şekilde, orijinal karaktere geri dönmenin bir yolu yoktur. – ashnazg

2

FWIW,   adresinden c3 82 c2 bf ile bitti. Dönüşümleri kazmadım, çünkü kodun sadece bir kısmını atmayı başardım.  'un, bir wordpress (php) eklentisi tarafından işlenen bir html e-posta şablonunda olduğunu söylemek yeterlidir.

İlgili konular