İndirmek ve indirmek için bir dosyanın URL'sini ayıklamak için Ruby kullanıyorum. Dosya adının utf8 karakterleri vardır, örn .:ASCII karakterlerinin URL kodlamasını nasıl yaparım?
Yukarıdaki URL'yi indirmeye çalışırken, başarısız olur.
www.domain.com/.../%C3%96%C3%87%C3%84%C3%9C360%C3%93%C3%AF%C3%92%C3%B4%C3%96%C3%BA%C3%80%C3%AD.txt
Ama URL Encoding Reference izlerseniz, çalışır:: URI::escape
kullanmak da işe yaramaz bir URI üretir Aynı kesin yapar Ruby bir işlev aramak için çalıştı
www.domain.com/.../%D6%C7%C4%DC360%D3%EF%D2%F4%D6%FA%C0%ED.txt
kodlama, ancak bulamadım. Yukarıdaki bağlantıdaki tabloyu uygulayan bir fonksiyon yazmaya başlamadan önce, bunu yapan herhangi bir kütüphaneyi bilen var mı diye sormak istiyorum. Ve eğer bunu yapmaya karar verirsem, şifrelemem gereken karakter dizisi, açıkçası, her şey değil.
Ben karakter kodlamaları => "1.8.7"
Bayt C3 96, UTF-8 kodlu bir Ö'dir. Aynı karakter ASCII'de tek bayt D6 olarak temsil edilir. Bu nedenle, soruna yaklaşmanın bir yolu, UTF-8 karakterlerinizi, yapabileceğiniz ASCII'ye ve ardından URI :: çıkışına dönüştürmektir. Ancak bu, ASCII eşdeğeri olmayan Unicode karakterleri için size yardımcı olmaz. –
['CGI.escape'] 'i (http://ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/CGI.html#method-c-escape) denediniz mi? –
@DavidGorsline: Bu işe yaramıyor. Sonunda '?' '360' ve '.txt' dışındaki tüm karakterler için. Yukarıdaki örnek gerçek bir örnektir, eğer herhangi bir fikriniz varsa bunları'ÖÇÄÜ360ÓïÒôÖúÀí.txt 'dizesinde test edebilir ve nasıl yapılacağını bana bildirin. Yardımınız için çok teşekkürler. – Rami