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

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008