SORU
6 Aralık 2009, Pazar


Karakterler bir URL izin

Herkesin içinde kullanılan karakterler tam listesini kodlanmış olmadan ALMAK biliyor mu? Şu an kullandığım A-Z, a-z ve 0-9... ama tam listeyi öğrenmek için arıyorum.

Ayrıca eğer bir şartname Çince, Arapça url (ki bu sorumun üzerinde büyük bir etkisi olacaktır) geliyor eklenmesi için serbest ise orada ilgimi çekti

CEVAP
6 Aralık 2009, Pazar


3 ** teknik:

Bu nedenle, sadece alfanümerik, özel karakterler "$-_. !*'(),", ve ayrılmış karakterler kendileri için ayrılmış amaçlar için kullanılan olabilir bir URL içinde unencoded.

EDİT: @Jukka K. Korpela doğru olarak işaret ettiği Gibi, bu RFC RFC 3986tarafından güncellenmiştir. Bu ve kolayca kopyalanan ve yapıştırılan değil karakterler ana bilgisayar için geçerli, ne yazık ki genişletilmiş açıklık var, ama elimden geleni yapacağım.

İlk eşleşmesi sipariş:

host        = IP-literal / IPv4address / reg-name

IP-literal  = "[" ( IPv6address / IPvFuture  ) "]"

IPvFuture   = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )

IPv6address =         6( h16 ":" ) ls32
                  /                       "::" 5( h16 ":" ) ls32
                  / [               h16 ] "::" 4( h16 ":" ) ls32
                  / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
                  / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
                  / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
                  / [ *4( h16 ":" ) h16 ] "::"              ls32
                  / [ *5( h16 ":" ) h16 ] "::"              h16
                  / [ *6( h16 ":" ) h16 ] "::"

ls32        = ( h16 ":" h16 ) / IPv4address
                  ; least-significant 32 bits of address

h16         = 1*4HEXDIG 
               ; 16 bits of address represented in hexadecimal

IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet

dec-octet   = DIGIT                 ; 0-9
              / %x31-39 DIGIT         ; 10-99
              / "1" 2DIGIT            ; 100-199
              / "2" %x30-34 DIGIT     ; 200-249
              / "25" %x30-35          ; 250-255

reg-name    = *( unreserved / pct-encoded / sub-delims )

unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"     <---This seems like a practical shortcut, most closely resembling original answer

reserved    = gen-delims / sub-delims

gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / " " / "," / ";" / "="

pct-encoded = "%" HEXDIG HEXDIG

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • LAHWF

    LAHWF

    5 Kasım 2009
  • metal571

    metal571

    30 Mayıs 2006