iconv CP1256 -t ISO-8859-6 arasında dönüşüm sağlayamıyor


2

Sygwin kullanarak CP1256'dan ISO-8859-6'ya kodlamayı dönüştürmeye çalıştım, ancak dönüştüremiyor!

ve yardım?

$ iconv -f CP1256 -t ISO-8859-6 cca.txt > cca1.txt

iconv: cca.txt:791:41: cannot convert

sonucu sed -n '791p' cca.txt | od -c

olduğu görüntü tanımını buraya girin


Lütfen bu komutun çıktısını gönderin:sed -n '791p' cca.txt | od -c
jlliagre

Yanıtlar:


3

Windows-1256 ve ISO-8859-6 karakter haritalarına bakarsanız, 1256'nın her noktada bir karaktere sahip olduğunu ancak 8859-6'nın çok fazla boşluğu olduğunu görebilirsiniz. Bu yüzden dönüşüm yaparken, hedef kodlamada olmayan bir karakter varsa iconv, şikayet edecektir.

Hangi sürüme sahip iconvolduğunuza bağlı olarak , -cseçeneği kullanabilirsiniz ve dönüştürülemeyen bu karakterler düşecek - dosya daha kısa olacaktır. Veya --unicode-subst="@"geçersiz karakterlerin yerine @dönüştürülebilir olan karakterleri kullanacak bir şey kullanabilirsiniz . Genişleme dahil (örneğin "[%u]"parantez içindeki Unicode değerine dönüşecektir) , bu ikame ile ilgili olarak biraz esneklik olduğuna dikkat edin.

Cygwin bu seçeneklere sahip değilse, yakın tarihli bir Linux veya Mac OS X'i deneyebilirsiniz.

Her durumda, ortaya çıkan dosya yalnızca gerçekten ISO-8859-6'da olan karakterleri içerebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.